perm filename MILES.MIC[ALF,DEK] blob sn#439243 filedate 1979-05-16 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00008 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00008 00002	PAGE 0.1
C00022 00003	PAGE 3.2
C00061 00004	PAGE 2.1
C00107 00005	PAGE 1.1
C00155 00006	DATA STRUCTURES
C00164 00007	PAGE 4.1
C00192 00008	I/O CODES
C00193 ENDMK
CāŠ—;
;PAGE 0.1
	ORG	0
	JMP	BOOT
	DS	1
	EI
	JMP	LMIS
Z130:	CALL	ERROR
	DS	1
	EI
	JMP	FMIS
Z129:	CALL	ERROR
	DS	1
	EI
	JMP	KBIS
Z123:	CALL	ERROR
	DS	1
Z124:	CALL	ERROR
	DS	2
BOOT:	LXI	SP,ISPV
	MVI	A,34H
	OUT	LTIMR+3
	OUT	FTIMR+3
	MVI	A,70H
	OUT	LTIMR+3
	OUT	0C3H
	MVI	A,0B0H
	OUT	LTIMR+3
	OUT	FTIMR+3
;PAGE 0.2
	MVI	A,16H
	OUT	INT
	SUB	A
	OUT	INT+1
	MVI	A,11010101B
	OUT	INT+1
	MVI	B,224
	MVI	A,0FFH
L00:	OUT	DISPL
	DCR	B
	LHLD	0
	JNZ	L00
	LXI	H,4000H
L01:	MVI	M,0FFH
	MOV	A,M
	INR	A
	JNZ	RTE
	MOV	M,A
	MOV	A,M
	ORA	A
	JNZ	RTE
	INX	H
	MVI	A,0BFH
	CMP	H
	JNC	L01
	IN	DISPL
	MVI	B,11110000B
	ANA	B
	CMP	B
Z125:	CNZ	ERROR
	EI
	MVI	A,01010010B
	OUT	BTLCH
	LXI	H,25000
	CALL	SLMSS
L15:	LDA	LMBSY
	RAR
Z126:	CNC	ERROR
;PAGE 0.3
	IN	DISPL
	ANI	00010000B
	JNZ	L15
	MVI	A,34H
	OUT	LTIMR+3
	MVI	A,70H
	OUT	LTIMR+3
	CALL	D2MS
	MVI	A,01110010B
	OUT	BTLCH
	LXI	H,100
	CALL	SLMSS
	LXI	H,35000
	CALL	SFMSS
L23:	LDA	FMBSY
	RAR
Z127:	CNC	ERROR
	IN	DISPL
	ANI	01000000B
	JNZ	L23
	MVI	A,34H
	OUT	FTIMR+3
	MVI	A,70H
	OUT	FTIMR+3
	CALL	D2MS
	MVI	A,00110110B
	OUT	BTLCH
	LXI	H,160
	CALL	SFMSS
L30:	LXI	H,NSCT
	MVI	M,127
	DCX	H
	MVI	M,40H
	DCX	H
	MVI	B,0
	MOV	M,B
	DCX	H
	MVI	M,1
	DCX	H
	MOV	M,B
;PAGE 0.4
	DCX	H
	MOV	M,B
	DCX	H
	MVI	M,1
	DCX	H
	MVI	M,8
	CALL	WDD
	LXI	H,NSCT
	MVI	M,128
	DCX	H
	MVI	M,80H
	DCX	H
	MOV	M,B
	DCX	H
	MVI	M,25
	DCX	H
	DCX	H
	DCX	H
	DCX	H
	MVI	M,8
	CALL	WDD
	LDA	4000H
	CPI	0CDH
L42:	CNZ	ERROR
	JMP	START
WDD:	MOV	A,M
	CPI	8
	JZ	WDD
	ORA	A
	RZ
Z128:	CALL	ERROR
ERROR:	LXI	D,DM1
;PAGE 0.5
NFE:	POP	B
	PUSH	B
	DCX	B
	DCX	B
	DCX	B
	MVI	A,4
	STA	BTS3
	LXI	H,BTS4
	MOV	A,B
	RRC
	RRC
	RRC
	RRC
	CALL	CAC
	MOV	A,B
	CALL	CAC
	MOV	A,C
	RRC
	RRC
	RRC
	RRC
	CALL	CAC
	MOV	A,C
	CALL	CAC
	SUB	A
	STA	KBLC
	LXI	H,BTS3
	XCHG
	CALL	DMD
Z80:	LDA	KBLC
	ORA	A
	JZ	Z80
	SUB	A
	STA	KBLC
;PAGE 0.6
	RET
CAC:	CALL	CDTAC
	MOV	M,A
	INX	H
	RET
CDTAC:	ANI	0FH
	ADI	'0'
	CPI	'9'+1
	RC
	ADI	'A'-'9'-1
	RET
RTE:	MOV	A,H
	RAL
	MVI	A,1110111B
	JNC	Z82
	MVI	A,1101011B
Z82:	MVI	H,224
Z83:	OUT	DISPL
	DCR	H
	SHLD	0
	JNZ	Z83
Z84:	JMP	Z84
KBIS:	PUSH	PSW
	PUSH	D
	PUSH	H
	IN	DISPL
	ANI	0FH
;PAGE 0.7
	LXI	H,KBCCT
	MOV	E,A
	MVI	D,0
	DAD	D
	MOV	D,M
	LDA	KBLC
	CPI	5
	JZ	Z85
	MOV	L,A
	MVI	H,0
	INR	A
	STA	KBLC
	MOV	A,D
	LXI	D,KBIB
	DAD	D
	MOV	M,A
Z85:	POP	H
	POP	D
	JMP	EIS
LMIS:	PUSH	PSW
	MVI	A,34H
	OUT	LTIMR+3
	MVI	A,70H
	OUT	LTIMR+3
	SUB	A
	STA	LMBSY
	JMP	EIS
;PAGE 0.8
FMIS:	PUSH	PSW
	MVI	A,34H
	OUT	FTIMR+3
	MVI	A,70H
	OUT	FTIMR+3
	SUB	A
	STA	FMBSY
EIS:	MVI	A,20H
	DI
	OUT	INT
	POP	PSW
	EI
	RET
SLMSS:	DCX	H
	MOV	A,L
	OUT	LTIMR+1H
	MOV	A,H
	OUT	LTIMR+1H
	MVI	A,3584 AND 0FFH
	OUT	LTIMR+0
	MVI	A,3584 SHR 8
	OUT	LTIMR+0
	MVI	A,1
	STA	LMBSY
	RET
SFMSS:	DCX	H
	MOV	A,L
	OUT	FTIMR+1
	MOV	A,H
	OUT	FTIMR+1
;PAGE 0.9
	MVI	A,3584 AND 0FFH
	OUT	FTIMR+0
	MVI	A,3584 SHR 8
	OUT	FTIMR+0
	MVI	A,1
	STA	FMBSY
	RET
DMD:	MVI	A,0FFH
	OUT	DISPL
	LDAX	D
	ADD	M
	MOV	B,A
	PUSH	H
	CALL	DCS
	POP	D
	MVI	A,37
	SUB	B
	MOV	B,A
	JMP	Z91
SMD:	MVI	B,38
Z91:	MVI	C,6
	MVI	A,0FFH
;PAGE 0.10
Z86:	OUT	DISPL
	DCR	C
	SHLD	0
	JNZ	Z86
	DCR	B
	JNZ	Z91
	CALL	DCS
	RET
DCS:	XCHG
	MOV	C,M
Z87:	INX	H
	MOV	A,M
	PUSH	H
	CALL	DC
	POP	H
	DCR	C
	JNZ	Z87
	RET
DC:	CPI	61H
	JC	Z141B
	CPI	7BH
	JNC	Z141B
	SUI	61H-'A'
Z141B:	LXI	H,DCG
	SUI	' '
	RC
	CPI	'Z'+1-' '
	RNC
	MOV	E,A
	MVI	D,0
	DAD	D
;PAGE 0.11
	DAD	D
	DAD	D
	DAD	D
	DAD	D
	MVI	D,5
Z89:	MOV	A,M
	OUT	DISPL
	INX	H
	DCR	D
	JNZ	Z89
	MVI	A,0FFH
	OUT	DISPL
	RET
BTAD:	PUSH	H
	MOV	B,D
	MOV	C,E
	LXI	D,0
	LXI	H,1
Z106:	MOV	A,B
	RAR
	MOV	B,A
	MOV	A,C
	RAR
	MOV	C,A
	JNZ	Z107	; (I think should be JNC)
	MOV	A,E
	ADD	L
	DAA
	MOV	E,A
	MOV	A,D
	ADC	H
	DAA
	MOV	D,A
Z107:	MVI	A,68H
	CMP	L
;PAGE 0.12
	JZ	Z108
	MOV	A,L
	ADD	L
	DAA
	MOV	L,A
	MOV	A,H
	ADC	H
	DAA
	MOV	H,A
	JMP	Z106
Z108:	POP	H
	MVI	B,2
Z140:	MOV	A,D
	RRC
	RRC
	RRC
	RRC
	CALL	CAC
	MOV	A,D
	CALL	CAC
	MOV	D,E
	DCR	B
	JNZ	Z140
	RET
BCDTB:	PUSH	H
	LXI	H,0
Z92:	XTHL
	MOV	A,M
	INX	H
	XTHL
	DAD	H
	MOV	D,H
	MOV	E,L
	DAD	H
	DAD	H
	DAD	D
;PAGE 0.13
	ANI	0FH
	MOV	E,A
	MVI	D,0
	DAD	D
	DCR	B
	JNZ	Z92
	POP	D
	RET
CCD:	MVI	B,224
	MVI	A,0FFH
Z100:	OUT	DISPL
	DCR	B
	JNZ	Z100
	RET
KBCCT:	DB	9
	DB	0BH
	DB	6
	DB	5
	DB	0CH
	DB	3
	DB	2
	DB	0DH
	DB	0EH
	DB	0
	DB	0FH
	DB	1
	DB	4
	DB	7
	DB	8
	DB	0AH
D2MS:	MVI	B,130
Z112:	LHLD	0
	DCR	B
	JNZ	Z112
	RET
;PAGE 0.14
DCG:	DS	5*59	; CHARACTER GENERATOR TABLE NOT REPEATED HERE
DM1:	DB	11,'FATAL ERROR'
;PAGE 3.2
	ORG	4000H
Z94:	CALL	ERROR
	NOP
	EI
	JMP	LMINT
	EI
	JMP	SDIS
	EI
	JMP	FMINT
	EI
	JMP	GPTIS
	EI
	JMP	KBIS
	EI
	JMP	RDI
Z95:	CALL	ERROR
	NOP
START:
M00:
M01:	MVI	A,16H
	OUT	INT
	MVI	A,40H
	OUT	INT+1
	MVI	A,10000001B
	OUT	INT+1
	MVI	A,0FFH
	OUT	BRT1
	OUT	BRT2
	CALL	IRI
	LXI	H,011BH
;PAGE 3.3
	SHLD	LTS
M02:	LXI	D,DM2
	CALL	SMD
M23:	SUB	A
	STA	KBLC
M06:	LDA	KBLC
	ORA	A
	JZ	M06
M08:	LDA	ICR
	ORA	A
	MVI	B,0DH
	JZ	M31
	MVI	B,06H
M31:	LDA	KBIB
	CMP	B
	JC	M10
M09:	LXI	D,DM10
M38:	CALL	NFE
	JMP	M24
M10:	RLC
	MOV	L,A
	MVI	H,0
	LXI	D,CBT
	DAD	D
	MOV	E,M
	INX	H
	MOV	D,M
	XCHG
	LXI	D,M24
	PUSH	D
	PCHL
M24:	LXI	H,MDM
	MOV	A,M
	ORA	A
	JZ	M02
	MVI	M,0
	JMP	M23
CBT:	DW	DNML
	DW	OJ
;PAGE 3.4
	DW	CFS
	DW	CE
	DW	COS
	DW	RFF
	DW	CIS
	DW	CBR
	DW	FA
	DW	ID
	DW	CD
	DW	WP
	DW	MM
CE:	LXI	D,DM9
	CALL	SMD
	LHLD	REV
	XCHG
	LXI	H,BTS4
	CALL	BTAD
	MVI	A,4
	LXI	D,BTS3
	STAX	D
	CALL	DCS
	MVI	A,'-'
	CALL	DC
	SUB	A
	STA	KBLC
	MVI	B,4
	CALL	RDKC
	CALL	D1S
	MVI	B,4
	LXI	H,KBIB
	CALL	BCDTB
P10:	LXI	D,3000
	CALL	C2W2
	JNC	P11
P12:	LXI	D,DM10
P13:	CALL	NFE
	RET
;PAGE 3.5
P11:	SHLD	REV
	RET
CFS:	LXI	D,DM11
	CALL	SMD
	LDA	FW
	MOV	E,A
	MVI	D,0
	LXI	H,BTS3
	CALL	BTAD
	LXI	D,BTS4
	MVI	A,2
	STAX	D
	CALL	DCS
	MVI	A,'-'
	CALL	DC
	SUB	A
	STA	KBLC
	MVI	B,2
	CALL	RDKC
	CALL	D1S
	MVI	B,2
	LXI	H,KBIB
	CALL	BCDTB
P15:	MOV	A,L
	CPI	4
	JC	P16
	CPI	17
	JNC	P16
P18:	STA	FW
	MOV	L,A
	MVI	H,0
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	LXI	D,0A6ABH
;PAGE 3.6
	CALL	M2B2
	MOV	H,L
	MOV	L,D
	LXI	D,-1000
	DAD	D
	SHLD	LILA
	LXI	D,DM12
	CALL	SMD
	LDA	FL
	MOV	E,A
	MVI	D,0
	LXI	H,BTS3
	CALL	BTAD
	LXI	D,BTS4
	MVI	A,2
	STAX	D
	CALL	DCS
	MVI	A,'-'
	CALL	DC
	SUB	A
	STA	KBLC
	MVI	B,2
	CALL	RDKC
	CALL	D1S
	MVI	B,2
	LXI	H,KBIB
	CALL	BCDTB
P19:	MOV	A,L
	CPI	5
	JC	P21
	CPI	21
	JNC	P21
P20:	STA	FL
	MOV	L,A
	MVI	H,0
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	LXI	D,484AH
	CALL	M2B2
	MOV	H,L
;PAGE 3.7
	MOV	L,D
	LXI	D,-(108*16)
	DAD	D
	SHLD	LIFLA
	RET
P21:	LXI	D,DM10
P22:	CALL	NFE
	RET
P16:	LXI	D,DM10
P17:	CALL	NFE
	RET
COS:	LXI	D,DM14
	CALL	SMD
	LDA	ROS
	ADI	'0'
	CALL	DC
	MVI	A,'-'
	CALL	DC
	SUB	A
	STA	KBLC
	MVI	B,1
	CALL	RDKC
	CALL	D1S
	LDA	KBIB
	ANI	0FH
R06:	CPI	3
	JNC	R08
R07:	STA	ROS
	RET
R08:	LXI	D,DM10
R09:	CALL	NFE
;PAGE 3.8
	RET
DNML:	LDA	REE
	ORA	A
	RNZ
U45:	CALL	CCD
	MVI	A,1
	STA	MDM
	STA	ICR
U01:
U02:	CALL	SSPP
	CALL	FIB
	LHLD	IBLP
	XCHG
	LHLD	IBRP
	CALL	C2W2
	RZ
U04:	MOV	A,M
	CPI	81H
	JZ	U05
	CPI	0DH
	JZ	U06
U07:	CALL	DC
	CALL	IIBRP
	JMP	U02
U05:	SUB	A
	STA	MDM
	RET
U06:	CALL	IIBRP
	LHLD	IBRP
;PAGE 3.9
	SHLD	BILP
	RET
RFF:	CALL	CCD
	MVI	A,1
	STA	ICR
	LHLD	LBLP
	MVI	M,130
	CALL	ILBP
	SHLD	LBLP
	LXI	H,0
	SHLD	CIV
	SHLD	NIV
	LDA	REE
	ORA	A
	JZ	Z93
	LHLD	LFV
Z93:	SHLD	NFL
	SHLD	IFLEV
	RET
OJ:	LXI	D,DM22
	CALL	SMD
	LDA	ROS
	MOV	B,A
W69:	MOV	A,B
	ORA	A
	JZ	W70
	LXI	H,ZBB
	DCR	A
;PAGE 3.10
	JZ	W71
	LXI	H,TZBB
W71:	MOV	E,M
	INX	H
	MOV	D,M
	LHLD	REV
	PUSH	B
	CALL	M2B2
	POP	B
	LXI	D,895
	CALL	C2W2
	MOV	A,B
	DCR	B
	JC	W69
W70:	STA	OS
	CALL	SSPP
	SUB	A
	STA	ECF
	INR	A
	STA	ICR
W01:	LDA	REE
	ORA	A
	JNZ	W57
W02:	LXI	H,FM
	LXI	B,280+256
	MVI	A,0FFH
W75:	MOV	M,A
	INX	H
	DCR	C
	JNZ	W75
	DCR	B
	JNZ	W75
	SUB	A
	STA	FMLF
	SUB	A
	STA	RA1A
	STA	RA2A
	LXI	H,CRT
	SHLD	BRP
	SHLD	ERP
	LXI	H,RCAT
	SHLD	BRCAT
	SHLD	ERCAT
;PAGE 3.11
	LXI	H,RCDT
	LXI	D,512
W88:	MOV	M,A
	INX	H
	DCR	E
	JNZ	W88
	DCR	D
	JNZ	W88
	LXI	H,CTLT
	LXI	D,(128*6)
W89:	MOV	M,A
	INX	H
	DCR	E
	JNZ	W89
	DCR	D
	JNZ	W89
W03:	MVI	A,1
	STA	EL1
	CALL	FIB
W04:	LDA	ECF
	ORA	A
	JNZ	W72
W06:	LHLD	IBRP
	MOV	A,M
	CPI	81H
	JZ	W73
W08:	SUB	A
	STA	EL1
W73:	CALL	IIBRP
W72:	LDA	EL1
	ORA	A
	JZ	W03
W15:	LDA	ECF
	ORA	A
	JNZ	W57
W12:	SUB	A
	STA	EL1
	CALL	FIB
W13:	LDA	ECF
;PAGE 3.12
	ORA	A
	JZ	W10
W09:	MVI	A,1
	STA	EL1
	JMP	W52
W10:	LDA	SIL
	ORA	A
	JZ	W19
W11:	LHLD	IBRP
MOV	A,M
	CPI	0DH
	JZ	W14
	CPI	02
	JNZ	W46
W17:	MVI	A,1
	STA	ECF
	LXI	D,DM23
W33:	CALL	NFE
	JMP	W46
W14:	SUB	A
	STA	SIL
	JMP	W46
W19:	LHLD	IBRP
	MOV	A,M
	CPI	' '
	JZ	W20
	SUI	'0'
	JC	W74
	CPI	10
	JC	W32
W74:	CPI	0DH-'0'
	JZ	W34
	CPI	82H-'0'
	JNZ	W46
W44:	MVI	A,1
;PAGE 3.13
	STA	EL1
	JMP	W46
W20:	LDA	NHC
	ORA	A
	JZ	W46
W21:	MOV	B,A
	LXI	H,NHB
	CALL	BCDTB
	LXI	D,FMLF
	LDAX	D
	RAR
	JNC	W30
W22:	RAR
	JNC	W29
W23:	RAR
	JC	W85
W25:	LXI	H,NHB
	MVI	B,2
	CALL	BCDTB
	DAD	H
	DAD	H
	DAD	H
W26:	LDA	NHB+2
	ORA	A
	JZ	W28
W76:	LXI	B,0004H
	DAD	B
W28:	SHLD	MLSPS
	MVI	A,00000111B
	STAX	D
	JMP	W85
W30:	MOV	A,L
	STA	MLFS
	MVI	A,00000001B
	STAX	D
W85:	SUB	A
;PAGE 3.14
	STA	NHC
	JMP	W46
	JMP	W46
W29:	SHLD	MLTFN
	MVI	A,00000011B
	STAX	D
	JMP	W85
W32:	MOV	B,A
	LXI	H,NHC
	MOV	A,M
	CPI	4
	JZ	W46
	INR	M
	LXI	H,NHB
	MOV	E,A
	MVI	D,0
	DAD	D
	MOV	M,B
	JMP	W46
W34:	SUB	A
	STA	FMLF
	INR	A
	STA	SIL
	LHLD	IBRP
	SHLD	BILP
	LDA	IS
	STA	MLWF
W35:	MVI	A,1
	STA	EL2
	LDA	MLWF
	STA	DC1+2
	LXI	H,DC1
	CALL	SDC
W36:	LDA	OKWD
	ORA	A
	JZ	W39
W37:	MVI	A,1
;PAGE 3.15
	STA	ECF
	LXI	D,DM7
	LDA	DISC
	ADI	'0'
	STA	DM7V
W38:	CALL	NFE
	JMP	W47
W39:	LHLD	8003H
	XCHG
	LXI	H,2020H
	MOV	A,D
	SUB	M
	JNZ	W37
DCX	H
	MOV	A,E
	SUB	M
	JNZ	W37
	LHLD	8001H
	LXI	D,8003H
	DAD	D
	LXI	D,8005H
W78:	PUSH	H
	PUSH	D
	LHLD	MLTFN
	LDAX	D
	CMP	L
	JNZ	W79
	INX	D
	LDAX	D
	CMP	H
	JNZ	W79
	LHLD	MLSPS
	INX	D
	LDAX	D
	CMP	L
	JNZ	W79
	INX	D
	LDAX	D
	CMP	H
	JZ	W40
W79:	POP	D
	LXI	H,9
	DAD	D
	XCHG
	POP	H
	CALL	C2W2
	JC	W78
;PAGE 3.16
	JMP	W41
W40:	POP	D
	POP	H
	LHLD	MLFS
	MVI	H,0
	LXI	B,FM
	DAD	H
	DAD	H
	DAD	H
	DAD	B
	SHLD	IFS
	MVI	B,8
	CALL	MDDHD
	JMP	W47
W41:	LXI	H,MLWF
	LDA	NAD
	CMP	M
	JZ	W43
W42:	INR	M
	SUB	A
	STA	EL2
	JMP	W47
W43:	MVI	A,1
	STA	ECF
	LDA	MLFS
	MOV	E,A
	MVI	D,0
	LXI	H,NHB
	CALL	BTAD
	LHLD	NHB+2
	SHLD	DM3+13
	LHLD	MLTFN
	XCHG
	LXI	H,DM3+16
	CALL	BTAD
	LHLD	MLSPS
	MVI	B,3
	CALL	SHLR
	MVI	A,'0'
	JNC	W80
	MVI	A,'5'
W80:	STA	DM3+24
;PAGE 3.17
	XCHG
	LXI	H,NHB
	CALL	BTAD
	LHLD	NHB+2
	SHLD	DM3+21
	LXI	D,DM3
W84:	CALL	NFE
W47:	LDA	ECF
	ORA	A
	JNZ	W46
W49:	LDA	EL2
	ORA	A
	JZ	W35
W46:	CALL	IIBRP
W52:	LDA	ECF
	ORA	A
	JNZ	W57
W54:	LDA	EL1
	ORA	A
	JZ	W12
W57:	LDA	ECF
	ORA	A
	JNZ	W60
W59:	CALL	COF
W60:	LDA	ECF
	ORA	A
	JNZ	W66
W62:	LDA	JDD
	ORA	A
	JZ	W01
W66:	LDA	REE
	ORA	A
	JNZ	W81
W68:	LXI	H,011BH
	SHLD	LTS
	LXI	H,IB
	SHLD	IBRP
	SHLD	IBLP
;PAGE 3.18
	SHLD	BILP
W81:	LHLD	LBLP
	XCHG
	LHLD	OLCP
	CALL	C2W2
	JNZ	W81
	RET
COF:	SUB	A
	STA	REE
	STA	JDD
	LHLD	LBLP
	SHLD	WLBLP
	LHLD	IBRP
	SHLD	BILP
X02:	SUB	A
	MVI	B,11
	LXI	H,ICS
X20:	MOV	M,A
	INX	H
	DCR	B
	JNZ	X20
	LHLD	BILP
	SHLD	IBRP
	LHLD	IFLEV
	SHLD	WFL
	LHLD	IFS
	SHLD	WF
X03:	CALL	FIB
	LHLD	WLBLP
	CALL	ILBP
	CALL	WRLB
	LDA	ECF
	ORA	A
	JNZ	X09
;PAGE 3.19
X05:	LHLD	IBRP
	MOV	E,M
	LXI	H,ICCT
	MVI	D,0
	DAD	D
	MOV	A,M
	ORA	A
	JP	X07
X06:	CALL	ECC
	JMP	X08
X07:	CALL	ENCC
X08:	CALL	IIBRP
X09:	LDA	ECF
	ORA	A
	JNZ	X14
X11:	LDA	ILD
	ORA	A
	JZ	X03
X14:	LDA	ECF
	ORA	A
	JNZ	X19
X16:	LDA	JD
	ORA	A
	JZ	X02
X19:	LHLD	LBLP
	XCHG
	LHLD	OLCP
	CALL	C2W2
	JNZ	X19
	RET
;PAGE 3.20
ECC:	CPI	90H
	JC	Y49
	CPI	0A4H
	JC	Y01
Y49:	ANI	7FH
	RLC
	MOV	L,A
	MVI	H,0
	LXI	D,CCBT
	DAD	D
	MOV	A,M
	INX	H
	MOV	H,M
	MOV	L,A
	PCHL
Y01:	SUI	90H
	MOV	L,A
	MVI	H,0
	LXI	D,CST
	DAD	D
	PUSH	H
	LHLD	WF
	LXI	D,006FH
	CALL	C2W2
	JNC	Y50
Y02:	MVI	A,1
	STA	SIC
Y50:	POP	H
	MOV	A,M
	CALL	ENCC
	RET
Y04:	LHLD	IBRP
	INX	H
	MOV	E,M
	LHLD	ARU
	MVI	D,0
	DAD	D
	SHLD	ARU
;PAGE 3.21
	RET
Y05:	LHLD	IBRP
	INR	H
	MOV	E,M
	LHLD	AP
	MVI	D,0
	DAD	D
	SHLD	AP
	RET
Y06:	LDA	WLS
	ORA	A
	JZ	Y11
Y07:	CALL	LFLB
	LHLD	WLBLP
	CALL	ILBP
	CALL	WRLB
Y51:	CALL	CTU
	SHLD	WLL
	PUSH	H
	LHLD	SFL
	CALL	CPFS
	LXI	D,109
	DAD	D
	XCHG
	LHLD	LBLP
	INX	H
	INX	H
	INX	H
	MOV	M,E
	LHLD	WLBLP
	MVI	M,129
	INX	H
	MOV	M,D
	INX	H
	POP	D
	MOV	M,E
	INX	H
	MOV	M,D
	CALL	ILBP
;PAGE 3.22
	SHLD	WLBLP
	LHLD	LBLP
	INX	H
	MOV	A,M
	INX	H
	MOV	H,M
	MOV	L,A
	DAD	D
	XCHG
	LHLD	LLC
	XCHG
	CALL	C2W2
	JNC	Y52
Y23:	SHLD	LLC
	XCHG
	LHLD	LILA
	XCHG
	CALL	C2W2
	JNC	Y52
Y24:	MVI	A,1
	STA	ECF
	STA	REE
	LXI	D,DM24
Y25:	CALL	NFE
Y52:	LDA	ECF
	ORA	A
	JNZ	Y11
Y54:	LHLD	WLBLP
	SHLD	LBLP
	SUB	A
	STA	HRL
Y11:	LDA	ICS
	ORA	A
	JZ	Y13
Y12:	LHLD	BILP
	DCX	H
	DCX	H
	SHLD	IBRP
;PAGE 3.23
	MVI	A,1
	STA	ILD
	RET
Y13:	MVI	A,1
	STA	ILD
	LDA	HRS
	ORA	A
	JZ	Y15
Y14:	MVI	A,1
	STA	HRL
	RET
Y15:	CALL	IIBRP
	LHLD	IBRP
	SHLD	BILP
	LHLD	NFL
	SHLD	IFLEV
	LHLD	WF
	SHLD	IFS
	LHLD	NIV
	SHLD	CIV
	RET
Y17:	LHLD	IBRP
	INX	H
	MOV	A,M
	STA	LFV
	RET
Y18:	LHLD	IBRP
	INX	H
	MOV	H,M
	LDA	LFV
	MOV	L,A
	SHLD	LFV
	XCHG
;PAGE 3.24
	LHLD	WFL
	MOV	A,D
	ORA	A
	JM	Y20
Y19:	DAD	D
	JMP	Y28
Y20:	ANI	7FH
	MOV	D,A
	CALL	S2F2
Y28:	SHLD	WFL
	XCHG
	LHLD	LIFLA
	XCHG
	CALL	C2W2
	JNC	Y30
Y29:	LHLD	LLC
	XCHG
	LHLD	SOV
	DAD	D
	SHLD	NIV
	LHLD	LFV
	MOV	A,H
	ANI	7FH
	MOV	H,A
	SHLD	NFL
	RET
Y30:	LHLD	WFL
	SHLD	NFL
	RET
Y31:	LHLD	IBRP
	INX	H
	MOV	A,M
	STA	NIV
	RET
;PAGE 3.25
Y32:	LHLD	IBRP
	INX	H
	MOV	H,M
	LDA	NIV
	MOV	L,A
	XCHG
	LXI	H,0
	CALL	C2W2
	JZ	Y64
Y63:	LHLD	CIV
	DAD	D
Y64:	SHLD	CIV
	SHLD	NIV
	RET
Y33:	CALL	CTU
	SHLD	WLL
	LXI	H,0
	SHLD	AP
	SHLD	ARU
	LHLD	IBRP
	INX	H
	MOV	L,M
	MOV	B,L
	MVI	H,0
	DAD	H
	DAD	H
	DAD	H
	LXI	D,FM
	DAD	D
	MOV	A,M
	CPI	0FFH
	JNZ	Y36
Y34:	MVI	A,1
	STA	ECF
	MOV	E,B
	MVI	D,0
	LXI	H,NHB
	CALL	BTAD
	LHLD	NHB+2
	SHLD	DM25+18
;PAGE 3.26
	LXI	D,DM25
Y35:	CALL	NFE
	RET
Y36:	LDA	WLS
	ORA	A
	JZ	Y58
Y57:	PUSH	H
	CALL	LFLB
	POP	H
	SHLD	WF
	CALL	LFLB
	RET
Y58:	SHLD	WF
	RET
Y37:	CALL	IIBRP
	CALL	FIB
	LHLD	IBRP
	MOV	A,M
	CPI	0FFH
	JNZ	Y55
Y38:	MVI	A,1
	STA	JDD
Y55:	MVI	A,1
	STA	ILD
	STA	JD
	RET
Y40:	LDA	HRL
	ORA	A
	JNZ	Y42
Y41:	MVI	A,1
	STA	HRS
;PAGE 3.27
	RET
Y42:	LHLD	WFL
	PUSH	H
	CALL	SWL
	POP	D
	LHLD	SFL
	CALL	C2W2
	JNZ	Y43
Y56:	CALL	CTU
	SHLD	RSP
	LHLD	IBRP
	MVI	M,20H
	INX	H
	MOV	A,M
	STA	HRH
	MVI	M,0
	MVI	A,1
	STA	RS
	RET
Y43:	MVI	A,1
	STA	HRS
	RET
Y44:	LXI	H,RS
	MOV	A,M
	ORA	A
	RZ
Y46:	MVI	M,0
	LHLD	IBRP
	MVI	M,' '
	INX	H
	MOV	D,M
	MVI	M,0
	LDA	HRH
	MOV	E,A
	LXI	H,(18*16)+1
	CALL	C2W2
;PAGE 3.28
	JC	Y61
	MVI	A,1
	STA	ECF
	LXI	D,DM26
Y60:	CALL	NFE
	RET
Y61:	LHLD	WLBLP
	MVI	M,133
	INX	H
	MOV	M,E
	INX	H
	MOV	M,D
	INX	H
	XCHG
	LHLD	RSP
	XCHG
	MOV	M,E
	CALL	ILBP
	PUSH	D
	CALL	WRLB
	POP	D
	MVI	M,134
	INX	H
	MOV	M,D
	PUSH	H
	CALL	CTU
	XCHG
	POP	H
	INX	H
	MOV	M,E
	INX	H
	MOV	M,D
	CALL	ILBP
	SHLD	WLBLP
	RET
Y59:	LXI	H,0
	SHLD	WFL
	SHLD	NFL
	RET
;PAGE 3.29
Y47:	MVI	A,1
	STA	ECF
	LXI	D,DM26
Y48:	CALL	NFE
	RET
ENCC:	MOV	B,A
U41:	LHLD	WFL
	LXI	D,SIC
	LDAX	D
	ORA	A
	JZ	U11
U09:	SUB	A
	STAX	D
	LXI	D,-(4*8)
	DAD	D
U11:	PUSH	H
	PUSH	B
	CALL	SWL
	POP	B
	POP	D
	LHLD	SFL
	CALL	C2W2
	JNZ	U13
	LHLD	WF
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	LXI	H,(18*8)+1
	LDA	DSL
	ORA	A
	JZ	U36
;PAGE 3.30
U33:	CALL	C2W2
	JNC	U12
U35:	MVI	A,1
	STA	ICS
	JMP	U14
U36:	CALL	C2W2
	JC	U12
U37:	MVI	A,1
	STA	ICS
	JMP	U14
U12:	PUSH	B
	CALL	CTU
	XCHG
	LHLD	WLBLP
	POP	B
	MOV	M,B
	INX	H
	MVI	M,0
	INX	H
	MOV	M,E
	INX	H
	MOV	M,D
	CALL	ILBP
	SHLD	WLBLP
	LHLD	IBRP
	MVI	M,' '
	JMP	U14
U13:	MVI	A,1
	STA	ICS
U14:	LHLD	IBRP
	INX	H
	MOV	E,M
	LHLD	ARU
	MVI	D,0
	DAD	D
	SHLD	ARU
	RET
;PAGE 3.31
SWL:	LXI	D,WLS
	LDAX	D
	ORA	A
	RNZ
U17:	MVI	A,1
	STAX	D
	SHLD	SFL
	LHLD	CIV
	CALL	CPMU
	PUSH	H
	CALL	CTU
	POP	D
	DAD	D
	XCHG
	LHLD	WLBLP
	MVI	M,80H
	INX	H
	MOV	M,E
	INX	H
	MOV	M,D
	CALL	ILBP
	SHLD	WLBLP
	CALL	ILBP
	CALL	WRLB
	LXI	H,0
	SHLD	ARU
	SHLD	AP
	SHLD	WLL
U39:	LHLD	WF
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	LXI	H,18*8
	XCHG
	CALL	C2W2
	MVI	A,1
;PAGE 3.32
	JC	U40
	SUB	A
U40:	STA	DSL
	CALL	LFLB
	CALL	ILBP
	CALL	WRLB
	RET
CPMU:	LXI	D,1001001110001110B
	CALL	M2B2
	DAD	H
	DAD	H
	MOV	A,D
	RLC
	RLC
	ANI	00000011B
	ORA	L
	MOV	L,A
	RET
LFLB:	LHLD	WLBLP
	MVI	M,131
	INX	H
	LDA	OS
	MOV	M,A
	INX	H
	XCHG
	LHLD	WF
	MOV	A,M
	STAX	D
	INX	H
	INX	D
	MOV	A,M
;PAGE 3.33
	STAX	D
	XCHG
	INX	D
	PUSH	D
	CALL	ILBP
	CALL	WRLB
	MVI	M,132
	INX	H
	POP	D
	PUSH	H
	LDAX	D
	MOV	L,A
	INX	D
	LDAX	D
	MOV	H,A
	PUSH	D
	LXI	D,18*8
	CALL	C2W2
	POP	D
	LDA	DSL
	CMC
	ACI	0
	RAR
	JC	Z143
	POP	H
	RET
Z143:	DAD	H
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	MOV	B,H
	MOV	A,L
	ANI	0F0H
	MOV	C,A
	INX	D
	LDAX	D
	MOV	L,A
	INX	D
	LDAX	D
	MOV	H,A
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	XCHG
	POP	H
	MOV	M,D
	INX	H
;PAGE 3.34
	MOV	A,E
	RRC
	RRC
	RRC
	RRC
	ANI	0FH
	ORA	C
	MOV	M,A
	INX	H
	MOV	M,B
	CALL	ILBP
	CALL	WRLB
	SHLD	WLBLP
	RET
CTU:	LHLD	AP
	CALL	CPMU
	PUSH	H
	LHLD	WF
	INX	H
	INX	H
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	LXI	H,8329H
	CALL	M2B2
	PUSH	H
	LHLD	ARU
	PUSH	H
	CALL	M2B2
	POP	D
	XTHL
	CALL	M2B2
	MOV	H,L
	MOV	L,D
	DAD	H
	DAD	H
;PAGE 3.35
	DAD	H
	DAD	H
	MOV	A,E
	RRC
	RRC
	RRC
	RRC
	ANI	0FH
	ORA	L
	MOV	L,A
	POP	D
	XCHG
	MVI	B,4
	CALL	SHLR
	DAD	D
	POP	D
	DAD	D
	XCHG
	LHLD	WLL
	DAD	D
	RET
FIB:	LDA	IS
	ORA	A
	JZ	IRD
	LHLD	IBRP
	XCHG
	LHLD	IBLP
	CALL	C2W2
	RNZ
U20:	LXI	H,LNS
	MVI	M,7
	LDA	LTS
	CPI	76
	JNZ	U25
U21:	LDA	LSS
	CPI	21
	JC	U25
;PAGE 3.36
U22:	MOV	B,A
	MVI	A,27
	SUB	B
	MOV	M,A
U25:	PUSH	H
	LHLD	IBLP
	SHLD	LDCA
	XCHG
	LHLD	BILP
	CALL	C2W2
	JC	U42
	LXI	H,IB+(7*128)
U42:	CALL	S2F2
	DAD	H
	MOV	A,H
	POP	H
	ORA	A
	RZ
U46:	CMP	M
	JNC	U43
	MOV	M,A
U43:	LXI	H,LCW
	MVI	A,1
	MOV	M,A
	DCX	H
	MVI	M,8
	DCX	H
	MOV	M,A
	SUB	A
	STA	LVSS
U28:	LDA	LPDR
	RRC
	RRC
	JNC	U28
	LDA	LOKW
	ORA	A
	JZ	U27
U26:	MVI	A,1
	STA	ECF
	LHLD	IBLP
	SHLD	IBRP
	MVI	A,'0'
	STA	DM7V
	LXI	D,DM7
;PAGE 3.37
U29:	CALL	NFE
	RET
U27:	LHLD	LDCA
	SHLD	IBLP
	RET
SSPP:	LXI	H,PPS
	MOV	A,M
	ORA	A
	RNZ
	MVI	M,1
	CALL	SPP
	RET
IIBRP:	LHLD	IBRP
	INX	H
	INX	H
	LXI	D,IB+(7*128)-1
	CALL	C2W2
	JNC	Z120
	LXI	H,IB
Z120:	SHLD	IBRP
	LHLD	IBLP
	LXI	D,IB+(7*128)
	CALL	C2W2
	RNZ
	LXI	H,IB
	SHLD	IBLP
	RET
;PAGE 3.38
SDC:	MOV	A,M
	STA	VARSE
	INX	H
	XCHG
	LXI	H,COMWD
	MVI	B,7
	CALL	MDDHD
SDC1:	MVI	A,8
	STA	OKWD
	CALL	WUDCD
	RET
PDDHD:	LDAX	D
	MOV	M,A
	INX	D
	INX	H
	DCR	C
	JNZ	PDDHD
	DCR	B
	JNZ	PDDHD
	RET
WUDCD:	LDA	OKWD
	CPI	8
	JZ	WUDCD
	RET
;PAGE 3.39
RDKC:	LDA	KBLC
	MOV	E,A
	MVI	D,0
Z104:	LDA	KBLC
	CMP	E
	JZ	Z104
	LXI	H,KBIB
	DAD	D
	MOV	A,M
	PUSH	B
	CALL	CDTAC
	CALL	DC
	POP	B
	DCR	B
	JNZ	RDKC
	RET
CPFS:	LXI	D,0B111H
	CALL	M2B2
	DAD	H
	MOV	A,D
	RLC
	ANI	1
	ORA	L
	MOV	L,A
	RET
WRLB:	XCHG
Z142:	LHLD	OLBP
	CALL	C2W2
	JZ	Z142
	XCHG
	RET
;PAGE 3.40
D1S:	LXI	D,4000H
Z105:	LHLD	0
	DCR	E
	JNZ	Z105
	DCR	D
	JNZ	Z105
	RET
CCBT:	DW	Y47
	DW	Y06
	DW	Y47
	DW	Y37
	DW	Y04
	DW	Y05
	DW	Y17
	DW	Y18
	DW	Y31
	DW	Y32
	DW	Y33
	DW	Y40
	DW	Y44
	DW	Y59
	DW	Y47
;PAGE 2.1
RDC:	LXI	H,PPA
	MOV	A,M
	RAR
	JC	J07
J01:	MVI	A,0BH
	OUT	INT
	IN	INT
	MOV	B,A
	ANI	00010000B
	JZ	J07
J02:	MOV	A,B
	ANI	00000010B
	JNZ	J07
J04:	MVI	M,1
	MVI	A,20H
	DI
	OUT	INT
	EI
	JMP	K01
J07:	POP	H
	POP	D
;PAGE 2.2
	POP	B
	MVI	A,20H
	DI
	OUT	INT
	POP	PSW
	EI
	RET
GPTIS:
B15:	PUSH	PSW
	PUSH	B
	PUSH	D
	PUSH	H
	LDA	TOO
	ANI	00000010B
	JZ	B27
B16:	LDA	BLS
	ORI	00001000B
	STA	BLS
	OUT	BTLCH
	SUB	A
	STA	TOO
B27:	SUB	A
	STA	FSCD
	STA	GPTB
B20:	JMP	RDC
;PAGE 2.3
LENS1:	LDA	LMBSY
	ORA	A
Z66:	CNZ	ERROR
	MOV	A,H
	ORA	A
	JNZ	OVER3
	MOV	A,L
	CPI	04H
	JNC	OVER3
	CPI	0
	RZ
	CPI	01H
Z65:	CZ	ERROR
	XRA	A
	STA	ASTEP
	SHLD	LSTEP
	JMP	LNSJ2
OVER3:	MOV	A,L
	ANI	00000011B
	CPI	01H
	JZ	LNS35
	CPI	0H
	JZ	LNS30
	PUSH	H
	MOV	L,A
	MVI	H,0H
	SHLD	LSTEP
	POP	H
	JMP	LNSJ4
LNS30:	PUSH	H
	LXI	H,04H
	SHLD	LSTEP
	POP	H
	JMP	LNSJ3
LNS35:	PUSH	H
	LXI	H,05H
	SHLD	LSTEP
	POP	H
LNSJ3:	DCX	H
	DCX	H
;PAGE 2.4
	DCX	H
	DCX	H
LNSJ4:	MVI	C,2H
LNSJ5:	XRA	A
	MOV	A,H
	RAR
	MOV	H,A
	MOV	A,L
	RAR
	MOV	L,A
	DCR	C
	JNZ	LNSJ5
	STA	ASTEP
	MOV	A,H
	ORA	A
	LDA	ACLIM
	MOV	C,A
	JNZ	LNSJ6
	MOV	A,L
	CMP	C
	JC	LNSJ2
LNSJ6:	MOV	A,L
	SUB	C
	MOV	L,A
	MOV	A,H
	SBI	0H
	MOV	H,A
	PUSH	H
	POP	D
	DAD	D
	DAD	D
	DAD	D
	XCHG
	LHLD	LSTEP
	DAD	D
	SHLD	LSTEP
	LDA	ACLIM
	STA	ASTEP
LNSJ2:	LHLD	LSTEP
	DCX	H
	SHLD	LSTEP
LOAD1:	LDA	ASTEP
	ORA	A
	JZ	LOAD2
	DCR	A
LOAD2:	STA	LACNT
	LXI	H,TABL1+2
	SHLD	TABFP
	MVI	A,0FFH
	STA	ACCEL
;PAGE 2.5
	STA	LMBSY
	MVI	A,70H
	OUT	LTIMR+3
	MVI	A,01H
	OUT	LTIMR+1
	SUB	A
	OUT	LTIMR+1
	MVI	A,34H
	OUT	LTIMR+1
	LHLD	TABL1
	MOV	A,L
	OUT	LTIMR+0
	MOV	A,H
	OUT	LTIMR+0
	RET
LMINT:	PUSH	PSW
	PUSH	D
	PUSH	H
	LDA	ACCEL
	RAR	
	JNC	LNS24
	LDA	LACNT
	ORA	A
	JZ	LNS26
	LHLD	TABFP
	MOV	E,M
	INX	H
	MOV	D,M
	INX	H
	SHLD	TABFP
	LXI	H,LACNT
	DCR	M
;PAGE 2.6
LNS22:	MVI	A,70H
	OUT	LTIMR+3
	MVI	A,01H
	OUT	LTIMR+1
	SUB	A
	OUT	LTIMR+1
	MOV	A,E
	OUT	LTIMR+0
	MOV	A,D
	OUT	LTIMR+0
LNS28:	POP	H
	POP	D
	MVI	A,20H
	DI
	OUT	INT
	POP	PSW
	EI
	RET
LNS26:	STA	ACCEL
	LHLD	LSTEP
	CMP	L
	JNZ	LNS31
	CMP	H
	JZ	LNS24
LNS31:	LDA	TOO
	RAR
	JNC	Z00
	MVI	A,1
	STA	GPTB
	INR	A
	STA	TOO
	LHLD	TOOD
	MOV	A,L
	OUT	GTIMR
	MOV	A,H
	OUT	GTIMR
Z00:	MVI	A,70H
	OUT	LTIMR+3
	LHLD	LSTEP
	MOV	A,L
	OUT	LTIMR+1
	MOV	A,H
	OUT	LTIMR+1
	LDA	ASTEP
	LXI	H,ACLIM
	CMP	M
	JNZ	LNS28
;PAGE 2.7
	LHLD	LTERM
	MOV	A,L
	OUT	LTIMR+0
	MOV	A,H
	OUT	LTIMR+0
	JMP	LNS28
LNS24:	LXI	H,BLS
	MOV	A,M
	ANI	11110111B
	MOV	M,A
	OUT	BTLCH
	LXI	H,MSLS
	MOV	A,M
	ANI	10001111B
	MOV	M,A
	OUT	MSLCH
	LXI	H,LPIP
	MOV	A,M
	SUI	3
	JNZ	Z72
	MOV	M,A
Z72:	LXI	H,LACNT
	LDA	ASTEP
	SUB	M
	JZ	LNS25
	INR	M
	LHLD	TABFP
	DCX	H
	MOV	D,M
	DCX	H
	MOV	E,M
	SHLD	TABFP
	JMP	LNS22
LNS25:	SUB	A
	STA	LMBSY
	MVI	A,34H
	OUT	LTIMR+3
	MVI	A,70H
	OUT	LTIMR+3
	JMP	LNS28
;PAGE 2.8
TABL1:	DW	3584
	DW	3584
	DW	2987
	DW	2622
	DW	2369
	DW	2178
	DW	2029
	DW	1906
	DW	1804
	DW	1717
	DW	1642
	DW	1576
	DW	1517
	DW	1465
	DW	1417
	DW	1374
	DW	1335
	DW	1299
	DW	1266
	DW	1235
	DW	1206
	DW	1179
	DW	1154
	DW	1131
	DW	1109
	DW	1088
	DW	1068
	DW	1050
	DW	1032
	DW	1015
	DW	999
	DW	984
	DW	968
	DW	955
	DW	942
	DW	929
	DW	917
	DW	905
	DW	893
	DW	883
	DW	872
	DW	862
	DW	852
	DW	842
	DW	833
	DW	824
	DW	816
	DW	807
	DW	799
	DW	791
;PAGE 2.9
	DW	783
	DW	776
	DW	769
	DW	762
	DW	755
	DW	748
	DW	742
	DW	736
	DW	729
	DW	723
	DW	718
	DW	712
	DW	706
	DW	701
	DW	695
	DW	690
	DW	685
	DW	680
	DW	675
	DW	671
	DW	666
	DW	661
	DW	657
	DW	652
	DW	648
	DW	644
	DW	640
	DW	636
	DW	632
	DW	628
	DW	624
	DW	620
	DW	617
	DW	613
	DW	609
	DW	606
	DW	602
	DW	599
	DW	596
;PAGE 2.10
FEED1:	LDA	FMBSY
	ORA	A
Z68:	CNZ	ERROR
	MOV	A,H
	ORA	A
	JNZ	FOVR3
	MOV	A,L
	CPI	04H
	JNC	FOVR3
	CPI	0H
	RZ
	CPI	01H
Z69:	CZ	ERROR
	SHLD	FSTEP
	XRA	A
	STA	FASTP
	JMP	FEDJ2
FOVR3:	MOV	A,L
	ANI	00000011B
	CPI	01H
	JZ	FED35
	CPI	0H
	JZ	FED30
	PUSH	H
	MOV	L,A
	MVI	H,0H
	SHLD	FSTEP
	POP	H
	JMP	FEDJ4
FED30:	PUSH	H
	LXI	H,04H
	SHLD	FSTEP
	POP	H
	JMP	FEDJ3
FED35:	PUSH	H
	LXI	H,05H
	SHLD	FSTEP
	POP	H
FEDJ3:	DCX	H
	DCX	H
;PAGE 2.11
	DCX	H
	DCX	H
FEDJ4:	MVI	C,2H
FEDJ5:	XRA	A
	MOV	A,H
	RAR
	MOV	H,A
	MOV	A,L
	RAR
	MOV	L,A
	DCR	C
	JNZ	FEDJ5
	STA	FASTP
	MOV	A,H
	ORA	A
	LDA	FACLM
	MOV	C,A
	JNZ	FEDJ6
	MOV	A,L
	CMP	C
	JC	FEDJ2
FEDJ6:	MOV	A,L
	SUB	C
	MOV	L,A
	MOV	A,H
	SBI	0H
	MOV	H,A
	PUSH	H
	POP	D
	DAD	D
	DAD	D
	DAD	D
	XCHG
	LHLD	FSTEP
	DAD	D
	SHLD	FSTEP
	LDA	FACLM
	STA	FASTP
FEDJ2:	LHLD	FSTEP
	DCX	H
	SHLD	FSTEP
FLOD1:	LDA	FASTP
	ORA	A
	JZ	FLOD2
	DCR	A
FLOD2:	STA	FACNT
	LXI	H,TABL1+2
	SHLD	FTABP
	MVI	A,0FFH
	STA	FACEL
;PAGE 2.12
	STA	FMBSY
	MVI	A,70H
	OUT	FTIMR+3
	MVI	A,01H
	OUT	FTIMR+1
	MVI	A,00H
	OUT	FTIMR+1
	MVI	A,34H
	OUT	FTIMR+3
	LHLD	TABL1
	MOV	A,L
	OUT	FTIMR+0
	MOV	A,H
	OUT	FTIMR+0
	RET
FMINT:	PUSH	PSW
	PUSH	D
	PUSH	H
	LDA	FACEL
	RAR
	JNC	FED24
	LDA	FACNT
	ORA	A
	JZ	FED26
	LHLD	FTABP
	MOV	E,M
	INX	H
	MOV	D,M
	INX	H
	SHLD	FTABP
	LXI	H,FACNT
	DCR	M
FED22:	MVI	A,70H
	OUT	FTIMR+3
	MVI	A,01H
;PAGE 2.13
	OUT	FTIMR+1
	SUB	A
	OUT	FTIMR+1
	MOV	A,E
	OUT	FTIMR+0
	MOV	A,D
	OUT	FTIMR+0
FED28:	POP	H
	POP	D
	DI
	MVI	A,20H
	OUT	INT
	POP	PSW
	EI
	RET
FED26:	STA	FACEL
	LHLD	FSTEP
	CMP	L
	JNZ	FED31
	CMP	H
	JZ	FED24
FED31:	MVI	A,70H
	OUT	FTIMR+3
	LHLD	FSTEP
	MOV	A,L
	OUT	FTIMR+1
	MOV	A,H
	OUT	FTIMR+1
	LDA	FASTP
	LXI	H,FACLM
	CMP	M
	JNZ	FED28
	LHLD	FTERM
	MOV	A,L
	OUT	FTIMR+0
	MOV	A,H
	OUT	FTIMR+0
	JMP	FED28
FED24:	LXI	H,FACNT
	LDA	FASTP
	SUB	M
	JZ	FED25
	INR	M
	LHLD	FTABP
	DCX	H
	MOV	D,M
	DCX	H
	MOV	E,M
	SHLD	FTABP
	JMP	FED22
;PAGE 2.14
FED25:	SUB	A
	STA	FMBSY
	MVI	A,34H
	OUT	FTIMR+3
	MVI	A,70H
	OUT	FTIMR+3
	JMP	FED28
GNC:	LDA	SLR
	RAR
	JC	H01
G01:	LHLD	EOC2
	XCHG
	LHLD	EOC1
	CALL	C2W2
	JC	G04
G02:	XCHG
	LHLD	SCC
	XCHG
	CALL	S2F2
	MOV	A,L
	STA	ISDIC
	JMP	G31
G04:	LHLD	SCC
	XCHG
	CALL	S2F2
	MOV	A,L
	STA	ISDIC
G31:	MOV	A,H
	ORA	A
	JZ	G08
G06:	MVI	A,255
	STA	ISDIC
;PAGE 2.15
	JMP	G30
G08:	LDA	CCRS
	STA	TS1
G09:	LXI	H,0FFFFH
	SHLD	TS3
	SUB	A
	STA	TS2
	LXI	B,TS1
	LDAX	B
	ORA	A
	JZ	G18
	RAR
	JNC	G32
	MVI	A,00000001B
	STA	TS2
	LHLD	CAN
	SHLD	TS3
	LXI	H,CAN
	SHLD	TS5
G32:	LDAX	B
	ANI	00000010B
	JZ	G33
	LHLD	CAN+14
	XCHG
	LHLD	TS3
	CALL	C2W2
	JNC	G33
	XCHG
	SHLD	TS3
	MVI	A,00000010B
	STA	TS2
	LXI	H,CAN+14
	SHLD	TS5
G33:	LDAX	B
	ANI	00000100B
	JZ	G34
	LHLD	CAN+28
	XCHG
	LHLD	TS3
	CALL	C2W2
	JNC	G34
	XCHG
	SHLD	TS3
	LXI	H,CAN+28
	SHLD	TS5
	MVI	A,00000100B
	STA	TS2
G34:	LDAX	B
;PAGE 2.16
	ANI	00001000B
	JZ	G35
	LHLD	CAN+42
	XCHG
	LHLD	TS3
	CALL	C2W2
	JNC	G35
	XCHG
	SHLD	TS3
	LXI	H,CAN+42
	SHLD	TS5
	MVI	A,00001000B
	STA	TS2
G35:	LHLD	SCC
	XCHG
	LHLD	ISDIC
	MVI	H,0
	DAD	D
	INX	H
	XCHG
	LHLD	TS3
	CALL	C2W2
	JC	G14
	JZ	G42
G12:	CALL	DSCC
	JMP	G08
G14:	DCX	H
	SHLD	DCA+2
	SUB	A
	STA	TS2
	LXI	H,DCA
	SHLD	TS5
	JMP	G42
G18:	LHLD	SCC
	XCHG
	LHLD	ISDIC
	MVI	H,0
	DAD	D
	LXI	D,3
	DAD	D
	SHLD	DCA+2
	SUB	A
;PAGE 2.17
	STA	TS2
	LXI	H,DCA
	SHLD	TS5
G42:	LHLD	SCC
	XCHG
	LHLD	ISDIC
	MVI	H,0
	DAD	D
	SHLD	TS3
	XCHG
	LHLD	EOC1
	CALL	C2W2
	JNZ	G25
G20:	LHLD	EOC2
	CALL	C2W2
	JNZ	G24
G22:	CALL	EC1
	JMP	G08
G24:	LHLD	C2DIA
	SHLD	TS7
	CALL	CCCBT
	JNC	G43
G47:	LXI	H,TS1
	LDA	TS2
	CMA
	ANA	M
	MOV	M,A
	JMP	G09
G43:	CALL	EC1
	JMP	G30
G25:	LHLD	EOC2
	CALL	C2W2
G52:	CNZ	ERROR
G27:	LHLD	C1DIA
	SHLD	TS7
	CALL	CCCBT
	JC	G49
;PAGE 2.18
G50:	CALL	EC2
G30:	LHLD	SCC
	INX	H
	SHLD	SCC
	JMP	H31
G49:	LXI	H,TS1
	LDA	TS2
	CMA
	ANA	M
	MOV	M,A
	JMP	G09
H01:	LHLD	EOC2
	XCHG
	LHLD	EOC1
	CALL	C2W2
	JNC	H05
H03:	XCHG
	LHLD	SCC
	CALL	S2F2
	MOV	A,L
	STA	ISDIC
	JMP	H32
H05:	LHLD	SCC
	CALL	S2F2
	MOV	A,L
	STA	ISDIC
H32:	MOV	A,H
	ORA	A
	JZ	H09
H07:	MVI	A,255
	STA	ISDIC
	JMP	H02
H09:	LDA	CCRS
	STA	TS1
H10:	LXI	H,0
	SHLD	TS3
;PAGE 2.19
	SUB	A
	STA	TS2
	LXI	B,TS1
	LDAX	B
	ORA	A
	JZ	H19
	RAR
	JNC	H34
	MVI	A,00000001B
	STA	TS2
	LHLD	CAN+2
	SHLD	TS3
	LXI	H,CAN
	SHLD	TS5
H34:	LDAX	B
	ANI	00000010B
	JZ	H35
	LHLD	TS3
	XCHG
	LHLD	CAN+14+2
	CALL	C2W2
	JNC	H35
	SHLD	TS3
	LXI	H,CAN+14
	SHLD	TS5
	MVI	A,00000010B
	STA	TS2
H35:	LDAX	B
	ANI	00000100B
	JZ	H36
	LHLD	TS3
	XCHG
	LHLD	CAN+28+2
	CALL	C2W2
	JNC	H36
	SHLD	TS3
	LXI	H,CAN+28
	SHLD	TS5
	MVI	A,00000100B
	STA	TS2
H36:	LDAX	B
	ANI	00001000B
	JZ	H37
	LHLD	TS3
	XCHG
	LHLD	CAN+42+2
	CALL	C2W2
	JNC	H37
	SHLD	TS3
	LXI	H,CAN+42
;PAGE 2.20
	SHLD	TS5
	MVI	A,00001000B
	STA	TS2
H37:	LHLD	ISDIC
	XCHG
	LHLD	SCC
	MVI	D,0
	CALL	S2F2
	DCX	H
	XCHG
	LHLD	TS3
	CALL	C2W2
	JZ	H38
	JNC	H15
H13:	CALL	DSCC
	JMP	H09
H15:	INX	H
	SHLD	DCA
	SUB	A
	STA	TS2
	LXI	H,DCA
	SHLD	TS5
	JMP	H38
H19:	LHLD	ISDIC
	XCHG
	LHLD	SCC
	MVI	D,0
	CALL	S2F2
	LXI	D,-3
	DAD	D
	SHLD	DCA
	SUB	A
	STA	TS2
	LXI	H,DCA
	SHLD	TS5
H38:	LHLD	ISDIC
	XCHG
	LHLD	SCC
	MVI	D,0
	CALL	S2F2
	SHLD	TS3
;PAGE 2.21
	XCHG
	LHLD	EOC1
	CALL	C2W2
	JNZ	H26
H21:	LHLD	EOC2
	CALL	C2W2
	JNZ	H25
H23:	CALL	EC1
	JMP	H09
H25:	LHLD	C2DIA
	SHLD	TS7
	CALL	CCCBT
	JNC	H39
H43:	LXI	H,TS1
	LDA	TS2
	CMA
	ANA	M
	MOV	M,A
	JMP	H10
H39:	CALL	EC1
	JMP	H02
H26:	LHLD	EOC2
	CALL	C2W2
H29:	CNZ	ERROR
	H27:	LHLD	C1DIA
	SHLD	TS7
	CALL	CCCBT
	JC	H45
H46:	CALL	EC2
H02:	LHLD	SCC
	DCX	H
	SHLD	SCC
H31:	LHLD	C1DIA
	XCHG
;PAGE 2.22
	LHLD	C1XMD
	LDAX	D
	MOV	M,A
	INX	H
	INX	H
	INX	H
	INX	D
	LDAX	D
	MOV	M,A
	INX	D
	LDAX	D
	OUT	DMA
	INX	D
	LDAX	D
	OUT	DMA
	INX	D
	LDAX	D
	OUT	DMA+6
	INX	D
	LDAX	D
	OUT	DMA+7
	RET
H45:	LXI	H,TS1
	LDA	TS1
	CMA
	ANA	M
	MOV	M,A
	JMP	H10
DLB:	DB	0FFH,0,0,0
DCA:	DW	0
	DW	0
	DW	DLB
	DW	15
	DB	07H
	DB	0FFH
	DW	13
	DW	DCHAR
DCHAR:	DB	0
	DB	0
	DB	0F8H
	DB	0FFH
	DB	07H
	DB	0FFH
;PAGE 2.23
	DB	07H
	DB	0FFH
	DB	07H
	DB	0
	DB	0
	DB	0
	DB	0
	DB	0C0H
	DB	0
	DB	0
	DB	0
	DB	0F8H
CCCBT:	LHLD	TS5
	LXI	D,6
	DAD	D
	MOV	E,M
	INX	H
	MOV	D,M
	LHLD	TS7
	LXI	B,-2
	DAD	B
	MOV	A,M
	INX	H
	MOV	H,M
	MOV	L,A
	DAD	D
	LXI	D,1021
	CALL	C2W2
	RET
;PAGE 2.24
EC1:	CALL	DOCC
	LHLD	TS5
	MVI	B,7
	LDA	SLR
	RAR
	JC	Z73
	MVI	B,5
	INX	H
	INX	H
Z73:	MOV	E,M
	INX	H
	MOV	D,M
	XCHG
	SHLD	EOC1
	MOV	L,B
	MVI	H,0
	DAD	D
	SHLD	C1DIA
	INX	H
	INX	H
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	LXI	H,6
	DAD	D
	SHLD	C1XMD
	LXI	B,C1CC
	CALL	ICCU
	RET
ICCU:	LXI	H,CCR
	LDAX	B
	CMA
	ANA	M
	MOV	M,A
;PAGE 2.25
	LDA	TS2
	STAX	B
	CMA
	LXI	H,CCRS
	ANA	M
	MOV	M,A
	RET
EC2:	CALL	DOCC
	LHLD	TS5
	MVI	B,7
	LDA	SLR
	RAR
	JC	Z74
	MVI	B,5
	INX	H
	INX	H
Z74:	MOV	E,M
	INX	H
	MOV	D,M
	XCHG
	SHLD	EOC2
	MOV	L,B
	MVI	H,0
	DAD	D
	SHLD	C2DIA
	INX	H
	INX	H
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	LXI	H,6
	DAD	D
	SHLD	C2XMD
	LXI	B,C2CC
	CALL	ICCU
;PAGE 2.26
	RET
DOCC:	LHLD	TS5
	INX	H
	INX	H
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	LDAX	D
	MOV	B,A
	INX	D
	LDAX	D
	ORI	10000000B
	STAX	D
	RRC
	ANI	10000000B
	ORA	B
	MOV	C,A
	MVI	B,0
	LXI	H,RCDT
	DAD	B
	DAD	B
	INR	A
	RZ
	DCR	M
	RET
;PAGE 2.27
DSCC:	LHLD	TS5
	INX	H
	INX	H
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	INX	D
	LDAX	D
	ORI	01000000B
	STAX	D
	LXI	D,TS2
	LXI	H,CCR
	LDAX	D
	CMA
	ANA	M
	MOV	M,A
	LXI	H,CCRS
	LDAX	D
	CMA
	ANA	M
	MOV	M,A
	RET
MDDHD:	LDAX	D
	MOV	M,A
	INX	D
	INX	H
	DCR	B
	JNZ	MDDHD
	RET
;PAGE 2.28
CDDHD:	LDAX	D
	CMP	M
	RNZ
	INX	D
	INX	H
	DCR	B
	JNZ	CDDHD
	RET
ARLBS:	LHLD	RLBSP
	CALL	ILBP
	SHLD	RLBSP
	MVI	A,1
	STA	PPB
	RET
EAPWA:	PUSH	D
	LXI	D,EAD+79
;PAGE 2.29
	CALL	C2W2
	JNC	Z01
	LXI	H,EAD
Z01:	POP	D
	RET
RCATW:	PUSH	D
	LXI	D,RCAT+(61*3)-1
	CALL	C2W2
	JNC	Z02
	LXI	H,RCAT
Z02:	POP	D
	RET
RCS:	LHLD	BRCAT
	XCHG
	LHLD	ERCAT
	CALL	C2W2
	JZ	J20
J27:	LDAX	D
	MOV	C,A
	MVI	B,0
	LXI	H,RCDT
	DAD	B
	DAD	B
	MOV	A,M
	ORA	A
	JZ	J18
J14:	INX	D
	INX	D
;PAGE 2.30
	INX	D
	XCHG
	CALL	RCATW
	MOV	C,M
	XCHG
	LHLD	ERCAT
	CALL	C2W2
	JZ	J20
	MVI	B,0
	LXI	H,RCDT
	DAD	B
	DAD	B
	MOV	A,M
	ORA	A
	JNZ	J14
J15:	LHLD	BRCAT
	MOV	B,M
	LXI	H,CAN+4
	LDA	CCR
	RAR
	JNC	J21
	CALL	CCC
	JZ	J20
J21:	LXI	H,CAN+14+4
	LDA	CCR
	ANI	00000010B
	JZ	J22
	CALL	CCC
	JZ	J20
J22:	LXI	H,CAN+28+4
	LDA	CCR
	ANI	00000100B
	JZ	J23
	CALL	CCC
	JZ	J20
J23:	LXI	H,CAN+42+4
	LDA	CCR
	ANI	00001000B
	JZ	J16
	CALL	CCC
	JZ	J20
J16:	LHLD	ERP
	XCHG
	PUSH	D
	LHLD	BRP
	INX	H
	MOV	C,M
	INX	H
;PAGE 2.31
	MOV	B,M
	DCX	H
	DCX	H
	XCHG
	INX	B
	INX	B
	INX	B
	MOV	A,C
	ORA	A
	JZ	J25
	INR	B
J25:	CALL	PDDHD
	CALL	RAWA
	SHLD	ERP
	XCHG
	CALL	RAWA
	SHLD	BRP
	LHLD	BRCAT
	MOV	A,M
	XTHL
	XCHG
	LHLD	ERCAT
	SHLD	TS9
	MOV	M,A
	MOV	C,A
	INX	H
	MOV	M,E
	INX	H
	MOV	M,D
	INX	H
	CALL	RCATW
	SHLD	ERCAT
	POP	H
	INX	H
	INX	H
	INX	H
	CALL	RCATW
	SHLD	BRCAT
	LXI	H,RCDT
	MVI	B,0
	DAD	B
	DAD	B
	INX	H
	LDA	TS9
	MOV	M,A
	MVI	A,1
	STA	PPB
	JMP	J20
;PAGE 2.32
J18:	LHLD	BRP
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	DCX	H
	DCX	H
	INX	D
	INX	D
	INX	D
	DAD	D
	CALL	RAWA
	SHLD	BRP
	LXI	H,CTLT
	DAD	B
	DAD	B
	DAD	B
	MOV	A,M
	ANI	01111111B
	MOV	M,A
	LHLD	BRCAT
	INX	H
	INX	H
	INX	H
	CALL	RCATW
	SHLD	BRCAT
	MVI	A,1
	STA	PPB
J20:	RET
	CCC:	MOV	E,M
	INX	H
	MOV	D,M
	LDAX	D
	MOV	C,A
	INX	D
	LDAX	D
	RRC
	ANI	10000000B
	ORA	C
	CMP	B
	RET
;PAGE 2.33
	DS	1
CSPS:	MOV	B,M
	INX	H
	MOV	A,M
	RRC
	ANI	00000111B
	MOV	C,A
	MOV	A,B
	RLC
	RLC
	RLC
	MOV	B,A
	ANI	11111000B
	ORA	C
	MOV	C,A
	MOV	A,B
	ANI	00000111B
	MOV	B,A
	MOV	A,M
	RLC
	RLC
	RLC
	ANI	00000111B
	MOV	E,A
	INX	H
	MOV	A,M
	RLC
	RLC
;PAGE 2.34
	RLC
	MOV	D,A
	ANI	11111000B
	ORA	E
	MOV	E,A
	MOV	A,D
	ANI	00000111B
	MOV	D,A
	RET
FRR:	LHLD	ERP
	LXI	D,CRT
	CALL	S2F2
	PUSH	H
	LHLD	BRP
	CALL	S2F2
	POP	D
	CALL	C2W2
	JC	Z03
	LXI	B,16*1024
	DAD	B
Z03:	CALL	S2F2
	DCX	H
	RET
SHLR:	ORA	A
	MOV	A,H
;PAGE 2.35
	RAR
	MOV	H,A
	MOV	A,L
	RAR
	MOV	L,A
	DCR	B
	JNZ	SHLR
	RET
D3B1:	MVI	E,17
	MOV	A,H
Z05:	MOV	H,A
	MOV	A,D
	RAL
	MOV	D,A
	MOV	A,L
	RAL
	MOV	L,A
	DCR	E
	RZ
	MOV	A,H
	RAL
	JNC	Z07
	SUB	B
	STC
	JMP	Z05
Z07:	SUB	B
	CMC
	JC	Z05
	ADD	B
	ORA	A
	JMP	Z05
;PAGE 2.36
CHDZ:	MOV	A,E
	XRA	L
	ANI	11111100B
	RNZ
	MOV	A,H
	CMP	D
	RET
DLBP:	DCX	H
	DCX	H
	DCX	H
	DCX	H
	MOV	A,L
	ANI	11111100B
	MOV	L,A
	PUSH	D
	LXI	D,LB-1
	CALL	C2W2
	JC	Z06
	LXI	H,LB+600H-4
Z06:	POP	D
	RET
;PAGE 2.37
ILBP:	INX	H
	INX	H
	INX	H
	INX	H
	MOV	A,L
	ANI	11111100B
	MOV	L,A
	PUSH	D
	LXI	D,LB+600H-1
	CALL	C2W2
	JNC	Z08
	LXI	H,LB
Z08:	POP	D
	RET
C2W2:	MOV	A,D
	CMP	A
	RNZ
	MOV	A,E
	CMP	L
	RET
;PAGE 2.38
M2B2:	MOV	A,L
	PUSH	H
	MVI	C,2
Z09:	MVI	B,8
	LXI	H,0
Z10:	DAD	H
	RAL
	JNC	Z11
	DAD	D
	ACI	0
Z11:	DCR	B
	JNZ	Z10
	DCR	C
	JZ	Z12
	POP	B
	PUSH	H
	MOV	L,H
	MOV	H,A
	PUSH	H
	MOV	A,B
	MVI	C,1
	JMP	Z09
Z12:	POP	D
	DAD	D
	ACI	0
	POP	D
	MOV	D,L
	MOV	L,H
	MOV	H,A
	RET
S2F2:	MOV	A,L
	SUB	E
	MOV	L,A
	MOV	A,H
	SBB	D
	MOV	H,A
	RET
;PAGE 2.39
RAWA:	PUSH	D
	LXI	D,CRT+(16*1024)-1
	CALL	C2W2
	JNC	Z13
	LXI	D,-(16*1024)
	DAD	D
	POP	D
	RET
Z13:	LXI	D,CRT-1
	CALL	C2W2
	JC	Z35
	LXI	D,(16*124)
	DAD	D
Z35:	POP	D
	RET
SFM:	XCHG
	LHLD	FMP
	CALL	C2W2
	JZ	Z15
Z71:	LXI	B,BLS
	JC	Z16
Z36:	XCHG
	CALL	S2F2
	LXI	D,1
	CALL	C2W2
	JC	Z17
;PAGE 2.40
Z37:	LXI	H,2
	CALL	SSD
	JMP	Z15
Z17:	LDAX	B
	ORI	01000000B
	STAX	B
	OUT	BTLCH
	PUSH	H
	CALL	FEED1
	POP	D
	LHLD	FMP
	DAD	D
	SHLD	FMP
	JMP	Z15
Z16:	CALL	S2F2
	LXI	D,10
	DAD	D
	CALL	SSD
Z15:	RET
SSD:	LDAX	B
	ANI	10111111B
	STAX	B
	OUT	BTLCH
	PUSH	H
	CALL	FEED1
	POP	D
	LHLD	FMP
	CALL	S2F2
	SHLD	FMP
	RET
SLM:	XCHG
	LHLD	LMP
;PAGE 2.41
	CALL	C2W2
	JZ	Z19
Z40:	LXI	B,BLS
	PUSH	H
	JC	Z20
Z41:	XCHG
	CALL	S2F2
	LXI	D,1
	CALL	C2W2
	JC	Z21
Z42:	INX	H
	INX	H
Z21:	LDAX	B
	ORI	00100000B
	STAX	B
	OUT	BTLCH
	PUSH	H
	CALL	LENS1
	POP	D
	POP	H
	DAD	D
	SHLD	LMP
	JMP	Z19
Z20:	CALL	S2F2
	LXI	D,1
	CALL	C2W2
	JC	Z22
Z44:	INX	H
	INX	H
Z22:	LDAX	B
	ANI	11011111B
	STAX	B
	OUT	BTLCH
	PUSH	H
	CALL	LENS1
	POP	D
	POP	H
	CALL	S2F2
	SHLD	LMP
Z19:	RET
;PAGE 2.42
SLMMS:	PUSH	H
	LHLD	MLTSP
	SHLD	LTERM
	POP	H
	LDA	MLAL
	STA	ACLIM
	CALL	SLM
	RET
CLC:	LXI	H,OLL
	LXI	B,MSLS
	LDAX	B
	ANI	10001111B
	ORA	M
	STAX	B
	OUT	MSLCH
Z26:	LHLD	OLBB
	XCHG
	LHLD	REV
	CALL	M2B2
	DAD	H
	DAD	H
	MOV	A,D
	RLC
	RLC
	ANI	3
	ORA	L
	MOV	L,A
	XCHG
	LHLD	OLES
	XCHG
	SHLD	OLES
	CALL	C2W2
;PAGE 2.43
	JZ	Z147
	XCHG
	LHLD	EC
	LDA	OLM
	CPI	3
	JNZ	Z151
	LHLD	M3LEC
Z151:	CALL	M2B2
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	MOV	A,H
	RAR
	ANI	7FH
	PUSH	PSW
	CMA
	MOV	E,A
	MVI	D,0FFH
	INX	D
	OUT	BRT2
	LXI	B,BLS
	LDAX	B
	ORI	20H
	STAX	B
	OUT	BTLCH
	DB	0,0,0; NO-OP'S (CORRECTION)
	LXI	B,0
Z148:	IN	HCOGC
	INX	B
	MOV	A,C
	ANI	0FH
	JNZ	Z148
	MOV	A,H
	CMA
	OUT	BRT1
	OUT	BRT2+2
	DAD	D
	MOV	A,B
	SUI	20H
	JNZ	Z149
	MOV	D,A
	POP	PSW
	MOV	E,A
	MVI	B,0A2H
Z149:	CPI	0A2H
	JNZ	Z148
	OUT	BRT2
;PAGE 2.44
	LHLD	OLLS
	LXI	D,0
	CALL	C2W2
	JZ	Z152
	LXI	D,-265
	DAD	D
Z152:	XCHG
	LHLD	LMP
	CALL	S2F2
	LXI	D,-694
	DAD	D
	INR	L
	DCR	L
	JZ	Z150
	INR	H
Z150:	IN	HCOGC
	DCR	L
	JNZ	Z150
	DCR	H
	JNZ	Z150
	LHLD	OLES
Z147:	LXI	D,1023
	DAD	D
	MOV	A,L
	CMA
	OUT	BRT1
	MOV	A,H
	CMA
	OUT	BRT1+2
	RET
FCC:	LHLD	OLYC
	XCHG
	LHLD	FMP
	CALL	C2W2
	STC
	JNZ	Z30
;PAGE 2.45
Z48:	LDA	FMBSY
	RAR
	JNC	Z31
Z49:	CPI	37
	JZ	Z32
	CPI	84
	JZ	Z50
	STC
	JMP	Z30
Z50:	LDA	FACEL
	RAR
	JC	Z33
Z51:	LXI	H,FASTP
	MVI	A,46
	CMP	M
	JMP	Z30
Z33:	LXI	H,FACLM
	MVI	A,15
	CMP	M
	JMP	Z30
Z32:	LDA	FACEL
	RAR
	JC	Z34
Z56:	LXI	H,FASTP
	MVI	A,11
	CMP	M
	JMP	Z30
Z34:	LXI	H,FACLM
	MVI	A,4
	CMP	M
	JMP	Z30
Z31:	LDA	MSLS
	ANI	00000100B
	STC
	JZ	Z30
;PAGE 2.46
Z62:	LDA	OLAL
	CPI	9
	JNC	Z30
Z63:	LDA	FSCD
	RAR
	JNC	Z30
Z64:	MVI	A,10000000B
	OUT	LTIMR+3
	IN	GTIMR
	MOV	L,A
	IN	GTIMR
	MOV	H,A
	LXI	D,49755
	CALL	C2W2
Z30:	RET
;PAGE 1.1
SPP:	PUSH	PSW
	PUSH	B
	PUSH	D
	PUSH	H
K01:
E00:	LDA	NLR
	RAR
	JC	E73
E01:	LHLD	NLSP
	XCHG
	LHLD	LBLP
	CALL	CHDZ
	JZ	E73
E04:	LHLD	NLBP
	CALL	CHDZ
	JNZ	E12
E05:	LDAX	D
	CPI	128
	JNZ	E47
;PAGE 1.2
E06:	INX	D
	LDAX	D
	MOV	L,A
	INX	D
	LDAX	D
	MOV	H,A
	SHLD	NLXC
	INX	D
	LDAX	D
	STA	NLYC
	XCHG
	LHLD	MXC
	XCHG
	CALL	C2W2
E74:	CC	ERROR
E76:	MVI	A,2
	STA	NLS
	LXI	H,0
	SHLD	NLSS
	SHLD	NLPS
	SUB	A
	STA	SPSL
	STA	NLUD
	STA	NLBR
	JMP	E43
E47:	CPI	130
E10:	CNZ	ERROR
E08:	LXI	H,0
	SHLD	NLLMR
	LXI	H,15
	SHLD	NLRMR
	LHLD	IFMP
	SHLD	NLYC
	MVI	A,01
	STA	NLR
	JMP	E43
E12:	LDAX	D
	CPI	135
;PAGE 1.3
E07:	CNC	ERROR
E09:	CPI	80H
	JC	E43
E13:	CPI	132
	JNZ	E25
E14:	XCHG
	CALL	DLBP
	MOV	A,M
	CPI	131
E23:	CNZ	ERROR
E15:	INX	H
	MOV	A,M
	STA	LRS
	CALL	ILBP
	XCHG
	INX	D
	LDAX	D
	MOV	H,A
	INX	D
	LDAX	D
	RRC
	RRC
	RRC
	RRC
	ANI	11100000B
	MOV	L,A
	SHLD	LRSS
	LDAX	D
	ANI	11100000B
	MOV	L,A
	INX	D
	LDAX	D
	MOV	H,A
	SHLD	LRPS
	LDA	NLS
	MOV	B,A
	LDA	LRS
	CMP	B
	JNC	E19
E17:	STA	NLS
E19:	XCHG
	LHLD	NLPS
;PAGE 1.4
	XCHG
	CALL	C2W2
	JNC	E22
E20:	SHLD	NLPS
E22:	LXI	D,1200H
	CALL	C2W2
	JC	E49
E75:	MVI	A,01
	STA	SPSL
E49:	LHLD	NLSS
	XCHG
	LHLD	LRSS
	CALL	C2W2
	JNC	E43
E45:	SHLD	NLSS
	JMP	E43
E25:	CPI	129
	JNZ	E38
E26:	LHLD	NLPS
	LXI	D,1200H
	CALL	C2W2
	JNC	E32
E27:	LDA	SPSL
	RAR
E30:	CC	ERROR
E28:	MVI	A,3
	STA	NLM
	JMP	E37
E32:	LXI	D,0B00H
	CALL	C2W2
	JC	E35
E33:	LDA	NLS
	ANI	3
	STA	NLM
	JMP	E37
;PAGE 1.5
E35:	MVI	A,00
	STA	NLM
E37:	LDA	NLPS+1
	CPI	14
	JC	E50
	MVI	A,13
E50:	CPI	5
	JNC	E51
	MVI	A,5
E51:	ADD	A
	ADD	A
	MOV	L,A
	MVI	H,00
	LXI	D,SBST-(4*5)
	LDA	NLM
	MOV	B,A
	CPI	1
	JZ	E66
	CPI	2
	JNZ	E52
E66:	LXI	D,ZBST-(4*5)
E52:	DAD	D
	MOV	E,M
	INX	H
	MOV	D,M
	INX	H
	MOV	C,M
	MOV	A,B
	INX	H
	MOV	B,M
	CPI	3
	JNZ	E53
	LHLD	M3BS
	DAD	D
	XCHG
	LHLD	M3FMS
	DAD	B
	MOV	B,H
	MOV	C,L
E53:	XCHG
	SHLD	NLBS
E93:	LDA	NLBR
	ORA	A
	JZ	E92
E91:	SUB	A
	STA	NLM
;PAGE 1.6
	LXI	B,-90
	LXI	H,0
	SHLD	NLBS
E92:	LHLD	NLSP
	INX	H
	MOV	H,M
	LDA	NLYC
	MOV	L,A
	PUSH	H
	DAD	B
	SHLD	NLYC
	POP	D
	LHLD	MYC
	XCHG
	CALL	C2W2
E81:	CC	ERROR
	LDA	NLM
	ADD	A
	MOV	B,A
	ADD	A
	ADD	A
	ADD	A
	ADD	B
	MOV	L,A
	MVI	H,00
	LXI	D,VMDT
	DAD	D
	LXI	D,NLAL
	XCHG
	MVI	B,18
E65:	CALL	MDDHD
	LDA	NLSS+1
	CPI	5
	JNC	E54
	MVI	A,5
E54:	CPI	18
	JC	E55
	MVI	A,17
E55:	MOV	L,A
	MVI	H,00
	LXI	D,SCT-5
	DAD	D
	MOV	C,M
	MVI	A,24
	SUB	C
	MOV	L,A
;PAGE 1.7
	LDA	NLM
	CPI	1
	JZ	E67
	CPI	2
	JNZ	E56
E67:	MOV	A,L
	SUI	2
	ANI	0FEH
	MOV	L,A
E56:	MOV	A,L
	STA	NLLSC
	PUSH	B
	LHLD	NLSP
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	XCHG
	SHLD	NLLL
	MOV	D,L
	MOV	L,H
	MVI	H,0
	LDA	NLC
	MOV	B,A
	CALL	D3B1
	MOV	H,L
	MOV	L,D
	LXI	D,28
	DAD	D
	POP	B
	MVI	B,00
	DAD	D
	LDA	NLM
	CPI	1
	JZ	E57
	CPI	2
	JNZ	E58
E57:	INX	H
	INX	H
	MOV	A,L
	ANI	0FEH
	MOV	L,A
E58:	SHLD	NLRSC
	XCHG
	LHLD	NLXC
	DAD	D
E82:	CC	ERROR
;PAGE 1.8
	XCHG
	LHLD	MXC
	XCHG
	CALL	C2W2
E83:	CC	ERROR
	LHLD	NLLSC
	MVI	H,00
	DCX	H
	LDA	NLM
	CPI	1
	JZ	E68
	CPI	2
	JNZ	E59
E68:	DCX	H
E59:	LDA	NLC
	MOV	E,A
	MVI	D,00
	CALL	M2B2
	MOV	B,D
	MOV	C,E
	LHLD	NLXC
	XCHG
	LHLD	LM0
	DAD	D
	XCHG
	LHLD	NLCOA
	XCHG
	CALL	S2F2
	PUSH	H
	DAD	B
	SHLD	TS9
	LHLD	NLRSC
	INX	H
	INX	H
	LDA	NLM
	CPI	1
	JZ	E69
	CPI	2
	JNZ	E61
E69:	INX	H
	INX	H
E61:	LDA	NLC
	MOV	E,A
	MVI	D,00
	CALL	M2B2
	POP	H
	DAD	D
;PAGE 1.9
	XCHG
	LHLD	NLMSC
	CALL	M2B2
	XCHG
	SHLD	TS11
	INX	D
	INX	D
	LHLD	NLLS
	DAD	D
	XCHG
	LHLD	NLAL
	MVI	H,0
E63:	DAD	H
	PUSH	H
	DAD	D
	SHLD	NLRMR
	LHLD	TS9
	XCHG
	LHLD	NLMSC
	CALL	M2B2
	MOV	C,E
	MOV	B,D
	XCHG
	INX	D
	INX	D
	LHLD	NLLS
	DAD	D
	POP	D
	CALL	S2F2
	SHLD	NLLMR
	MOV	E,B
	MVI	D,1
	LHLD	NLMSP
	CALL	M2B2
	SHLD	NLLOD
	LHLD	TS11
	XCHG
	LXI	H,0
	CALL	S2F2
	MOV	E,H
	MVI	D,-1
	LHLD	BLC
	DAD	D
	XCHG
	LHLD	NLMSP
	CALL	M2B2
	MOV	H,L
;PAGE 1.10
	MOV	L,D
	SHLD	NLROD
	MVI	A,01
	STA	NLR
	JMP	E43
E38:	CPI	128
E39:	CZ	ERROR
E41:	CPI	130
E70:	CZ	ERROR
E86:	CPI	133
	JNZ	E43
E87:	MVI	A,1
	STA	NLBR
	STA	NLUD
	JMP	E43
E43:	LHLD	NLSP
	CALL	ILBP
	SHLD	NLSP
	MVI	A,01
	STA	PPB
E73:
K02:
D00:	LDA	LPIP
	RAR
	JC	D10
D01:	LHLD	NLBP
	XCHG
;PAGE 1.11
	LHLD	OLCP
	CALL	C2W2
	JNZ	D06
D02:	LDA	NLR
	RAR
	JNC	D42
D03:	LXI	H,OLT
	LXI	D,NLT
	MVI	B,37
	CALL	MDDHD
	LHLD	NLSP
	SHLD	NLBP
	SUB	A
	STA	NLR
	INR	A
	STA	LPIP
	JMP	D42
D06:	LHLD	OLCP
	MOV	A,M
	RAL
	JC	D42
D58:	INX	H
	MOV	A,M
	RAL
	JC	D42
	MVI	A,1
	STA	LPIP
	JMP	D42
D10:	RAR
	JC	D42
D43:	LDA	FSCD
	RAR
	JC	D47
D45:	LHLD	FMP
	XCHG
	LHLD	OLYC
	CALL	C2W2
	JZ	D21
;PAGE 1.12
D11:	LDA	MSLS
	ANI	00000100B
	JNZ	D19
D12:	LDA	FMBSY
	RAR
	JC	D47
D13:	CALL	SFM
	JMP	D47
D19:	LXI	D,MSLS
	LDAX	D
	ANI	11111011B
	STAX	D
	OUT	MSLCH
	MVI	A,1
	STAX	B
	STA	FSCD
	MVI	A,17920 AND 0FFH
	OUT	GTIMR
	MVI	A,17920 SHR 8
	OUT	GTIMR
	JMP	D47
D21:	LXI	B,MSLS
	LDAX	B
	ANI	00000100B
	JNZ	D47
D23:	LDA	FMBSY
	RAR
	JC	D47
D61:	LDAX	B
	ORI	00000100B
	STAX	B
	OUT	MSLCH
	MVI	A,1
	STA	GPTB
	STA	FSCD
	MVI	A,53760 AND 0FFH
	OUT	GTIMR
	MVI	A,53760 SHR 8
	OUT	GTIMR
;PAGE 1.13
D47:	LDA	LMBSY
	RAR
	JC	D42
D26:	LDA	OLUD
	ORA	A
	JNZ	D34
	LHLD	LMP
	XCHG
	LHLD	OLRMR
	PUSH	D
	CALL	C2W2
	JC	D48
	XCHG
D48:	CALL	S2F2
	POP	D
	PUSH	H
	LHLD	OLLMR
	CALL	C2W2
	JC	D49
	XCHG
D49:	CALL	S2F2
	POP	D
	CALL	C2W2
	JNC	D34
D27:	LHLD	LMP
	XCHG
	LHLD	OLRMR
	CALL	C2W2
	JNZ	D32
D28:	CALL	CLC
	CALL	FCC
	JC	D42
D29:	SUB	A
	OUT	HCOGC
	LHLD	OLRSC
	MOV	A,L
	ORI	10000000B
	OUT	HCOGC
	LDA	OLM
	CPI	1
	JZ	D54
	CPI	2
	JNZ	D55
;PAGE 1.14
D54:	MOV	A,H
	RAR
	MOV	H,A
	MOV	A,L
	RAR
	MOV	L,A
D55:	SHLD	SCC
	SHLD	EOC1
	SHLD	EOC2
	MVI	A,1
	STA	SLR
	SUB	A
	STA	C1CC
	STA	C2CC
	STA	CCR
	STA	CCRS
	CALL	GNC
	MVI	A,1
	STA	TOO
	LHLD	OLROD
	SHLD	TOOD
	LHLD	NLBP
	CALL	DLBP
	SHLD	CLP
	LDA	OLRL
	ORI	10100000B
	OUT	HCOGC
	LHLD	OLSP
	SHLD	LTERM
	LDA	OLAL
	STA	ACLIM
	LHLD	OLLMR
	CALL	SLM
	MVI	A,3
	STA	LPIP
	JMP	D42
D32:	CALL	SLMMS
	JMP	D42
;PAGE 1.15
D34:	LHLD	LMP
	XCHG
	LHLD	OLLMR
	CALL	C2W2
	JNZ	D39
D35:	CALL	CLC
	CALL	FCC
	JC	D42
D36:	SUB	A
	OUT	HCOGC
	MOV	H,A
	LDA	OLLSC
	MOV	L,A
	ORI	10000000B
	OUT	HCOGC
	LDA	OLM
	CPI	1
	JZ	D57
	CPI	2
	JNZ	D56
D57:	MOV	A,H
	RAR
	MOV	H,A
	MOV	A,L
	RAR
	MOV	L,A
D56:	SHLD	SCC
	SHLD	EOC1
	SHLD	EOC2
	SUB	A
	STA	SLR
	STA	C1CC
	STA	C2CC
	STA	CCR
	STA	CCRS
	CALL	GNC
	MVI	A,1
	STA	TOO
	LHLD	OLLOD
	SHLD	TOOD
	LHLD	OLBP
;PAGE 1.16
	SHLD	CLP
	LDA	OLRL
	ORI	10000000B
	ANI	11011111B
	OUT	HCOGC
	LHLD	OLSP
	SHLD	LTERM
	LDA	OLAL
	STA	ACLIM
	LHLD	OLRMR
	CALL	SLM
	MVI	A,3
	STA	LPIP
	JMP	D42
D39:	CALL	SLMMS
D42:
K03:
B00:	LDA	OKWD
	MOV	B,A
	CPI	8
	JZ	B21
B02:	LDA	DARS
	ANI	00000011B
	MOV	C,A
	JZ	B08
B03:	MOV	A,B
	ORA	A
	JZ	B06
	LDA	DISC
	ADI	'0'
;PAGE 1.17
	STA	DM7V
	LXI	D,DM7
B04:	CALL	NFE
B29:	MVI	A,8
	STA	OKWD
	LXI	D,DM22
	CALL	SMD
	JMP	B21
B06:	MOV	A,C
	RAR
	MVI	A,00000011B
	LXI	H,LOKW
	JNC	B22
	STA	HPDR
	LXI	H,HOKW
	JMP	B23
B22:	STA	LPDR
B23:	LXI	D,OKWD
	MVI	B,8
B26:	CALL	MDDHD
	MVI	A,1
	STA	PPB
	SUB	A
	STA	DARS
	JMP	B21
B08:	LDA	HPDR
	CPI	1
	JNZ	B11
B28:	MVI	A,1
	STA	VARSE
	LXI	H,HNS
	LXI	D,NSCT
	MVI	B,8
B24:	MOV	A,M
	STAX	D
	DCX	H
	DCX	D
	DCR	B
	JNZ	B24
;PAGE 1.18
	MVI	A,00000001B
	STA	DARS
	JMP	B21
B11:	LDA	LPDR
	CPI	1
	JNZ	B21
B12:	LDA	LVSS
	STA	VARSE
	LXI	H,LNS
	LXI	D,NSCT
	MVI	B,8
B25:	MOV	A,M
	STAX	D
	DCX	H
	DCX	D
	DCR	B
	JNZ	B25
	MVI	A,00000010B
	STA	DARS
B21:
K04:
C00:	LXI	H,HPDR
	MOV	A,M
	CPI	3
	JNZ	C59
	MVI	M,00
C01:	LHLD	RDEL
	LXI	D,0000
	CALL	C2W2
	JZ	C02
	XCHG
C87:	LHLD	HDCA
;PAGE 1.19
	CALL	RAWA
	CALL	C2W2
C89:	CNZ	ERROR
C02:	LHLD	ERP
	LDA	DSN
	CMP	M
C92:	CNZ	ERROR
C99:	LDA	TRDR
	RAR
	JC	C06
	RAR
	JC	C04
C03:	LDA	RRD
	RAR
	JNC	C68
C94:	XCHG
	LHLD	RDS2
	XCHG
	LDA	RDS1
	MOV	M,A
	INX	H
	MOV	M,E
	INX	H
	MOV	M,D
C68:	LHLD	HDCA
	CALL	RAWA
	SHLD	ERP
	LXI	H,RCT
	DCR	M
	JZ	C60
C96:	LHLD	ERP
	DCX	H
	DCX	H	
	DCX	H
	CALL	RAWA
	SHLD	HDCA
	SHLD	ERP
	MOV	A,M
	STA	RDS1
	INX	H
	MOV	E,M
	INX	H
;PAGE 1.20
	MOV	D,M
	XCHG
	SHLD	RDS2
	MVI	A,1
	STA	HNS
	STA	HPDR
	STA	RRD
	LXI	H,HSS
	DCR	M
	DCX	H
	INR	M
	MVI	A,8
	STA	HOKW
	LXI	H,0000
	LDA	RCT
	DCR	A
	JNZ	C61
	LHLD	RCEL
C61:	SHLD	RDEL
	MVI	A,00000100B
	STA	TRDR
	JMP	C59
C60:	LHLD	ERCAT
	MOV	E,M
	INX	H
	MOV	C,M
	INX	H
	MOV	B,M
	INX	H
	CALL	RCATW
	SHLD	ERCAT
	LXI	H,0000
	MOV	D,L
	DAD	D
	DAD	D
	DAD	D
	LXI	D,CTLT
	DAD	D
	MOV	A,M
	ORI	10000000B
	MOV	M,A
	INX	H
	MOV	A,M
	INX	B
	STAX	B
	INX	H
	INX	B
;PAGE 1.21
	MOV	A,M
	ANI	00111111B
	STAX	B
	JMP	C59
C04:	PUSH	H
	LHLD	NADSS
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	MVI	D,0
	LDA	NAESS
	MOV	B,A
	CALL	D3B1
	MOV	H,L
	MOV	L,D
	SHLD	NAPXM
	SHLD	NAPYM
C100:	LXI	H,RA1A
	LXI	B,CTLT
	MOV	A,M
	RAR
	JNC	C67
	LXI	H,RA2A
	MOV	A,M
	RAR
C104:	CC	ERROR
	LXI	B,CTLT+384
C67:	PUSH	B
	LXI	D,NAA
	MVI	B,14
	CALL	MDDHD
	POP	H
	POP	D
	INX	D
	INX	D
	INX	D
	MVI	B,255
	CALL	MDDHD
	MVI	B,129
	CALL	MDDHD
	JMP	C59
C06:	LXI	D,5
;PAGE 1.22
	DAD	D
	CALL	RAWA
	XCHG
C69:	PUSH	D
	LXI	H,NATFN
	MVI	B,6
	CALL	CDDHD
	JZ	C07
	POP	H
	LXI	D,9
	DAD	D
	CALL	RAWA
	XCHG
	LHLD	HDCA
	CALL	RAWA
	CALL	C2W2
	JNZ	C69
C08:	LXI	H,HDS
	LDA	NAD
	CMP	M
C105:	CZ	ERROR
C09:	INR	M
	INX	H
	MVI	M,0
	INX	H
	MVI	M,131
	LHLD	ERP
	SHLD	HDCA
	MVI	A,1
	STA	HPDR
	STA	HNS
	MVI	A,8
	STA	HOKW
	MVI	A,1
	STA	TRDR
	LXI	H,0
	SHLD	RDEL
	JMP	C59
C07:	POP	D
	LHLD	EADLP
	MVI	C,9
	CALL	MDDHD
	LDA	HDS
	MOV	M,A
	INX	H
	CALL	EAPWA
;PAGE 1.23
	SHLD	EADLP
C59:	LHLD	LBLP
	XCHG
	LHLD	RLBSP
	CALL	C2W2
	JZ	C71
C17:	MOV	A,M
	CPI	135
C106:	CNC	ERROR
C107:	CPI	128
	JNC	C32
C18:	INX	H
	MOV	A,M
	ANI	00100000B
	JZ	C45
C46:	CALL	ARLBS
	JMP	C71
C45:	DCX	H
	LDA	RSRAS
	RRC
	ORA	M
	MOV	C,A
	MVI	B,0
	XCHG
	LXI	H,CTLT
	DAD	B
	DAD	B
	DAD	B
	MOV	A,M
	RAL
	JNC	C21
C19:	LXI	H,RCDT
	DAD	B
	DAD	B
	MOV	A,M
	INR	A
	JZ	C71
C52:	INR	M
	XCHG
	INX	H
;PAGE 1.24
	MOV	A,M
	ORI	0100000B
	MOV	M,A
	CALL	ARLBS
	JMP	C71
C21:	CPI	77*2
	JNZ	C109
C108:	LHLD	RLBSP
	INX	H
	MOV	A,M
	ORI	80H
	MOV	M,A
	CALL	ARLBS
	JMP	C71
C109:	LDA	HPDR
	RAR
	JC	C71
C23:	PUSH	H
	CALL	FRR
	XCHG
	POP	B
	INX	B
	LDAX	B
	MOV	L,A
	INX	B
	LDAX	B
	ANI	00111111B
	MOV	H,A
	INX	H
	INX	H
	INX	H
	CALL	C2W2
	JC	C26
	PUSH	H
	PUSH	B
	LHLD	BRCAT
	XCHG
	LHLD	ERCAT
	INX	H
	INX	H
	INX	H
;PAGE 1.25
	CALL	RCATW
	CALL	C2W2
	POP	B
	POP	H
	JZ	C26
C24:	XCHG
	LHLD	ERP
	DAD	D
	CALL	RAWA
	SHLD	RCEL
	LDAX	B
	RLC
	RLC
	ANI	00000011B
	INR	A
	STA	RCT
	DCR	A
	JZ	C85
	LXI	H,0
C85:	SHLD	RDEL
	DCX	B
	DCX	B
	LDAX	B
	ANI	01111111B
	STA	HTS
	LHLD	RLBSP
	MOV	A,M
	STA	HSS
	STA	DSN
	LDA	RSRAS
	RAR
	MOV	A,M
	LXI	D,RA1DS
	JNC	C75
	ORI	10000000B
	LXI	D,RA2DS
C75:	MOV	C,A
	MVI	B,0
	LHLD	ERCAT
	PUSH	H
	MOV	M,A
	LDAX	D
	STA	HDS
	INX	H
	XCHG
	LHLD	ERP
	XCHG
	MOV	M,E
	INX	H
;PAGE 1.26
	MOV	M,D
	LXI	H,RCDT
	DAD	B
	DAD	B
	MVI	M,0
	INX	H
	POP	B
	MOV	M,C
	XCHG
	SHLD	HDCA
	MVI	A,1
	STA	HPDR
	STA	HNS
	STA	HCW
	MVI	A,8
	STA	HOKW
	MVI	A,00000100B
	STA	TRDR
	JMP	C71
C26:	CALL	RCS
	JMP	C71
C32:	CPI	132
	JNZ	C33
C112:	CALL	DLBP
	MOV	A,M
	CPI	131
C113:	CNZ	ERROR
C35:	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	XCHG
	SHLD	NATFN
	XCHG
	CALL	ILBP
	INX	H
	CALL	CSPS
	XCHG
	SHLD	NADPS
	MOV	H,B
	MOV	L,C
	SHLD	NADSS
	LDA	RA1A
;PAGE 1.27
	RAR
	JNC	C84
	LXI	D,NATFN
	LXI	H,A1TFN
	MVI	B,6
	CALL	CDDHD
	MVI	A,0
	JZ	C36
C84:	LDA	RA2A
	RAR
	JNC	C38
	LXI	D,NATFN
	LXI	H,A2TFN
	MVI	B,6
	CALL	CDDHD
	JNZ	C38
	MVI	A,1
C36:	STA	RSRAS
C114:	CALL	ARLBS
	JMP	C71
C38:	LDA	RA1A
	RAR
	JNC	C41
	LDA	RA2A
	RAR
	JNC	C41
C39:	LXI	H,RCDT
	MVI	B,128
	SUB	A
C77:	CMP	M
	JNZ	C78
	INX	H
	INX	H
	DCR	B
	JNZ	C77
	MOV	C,A
	JMP	C57
C78:	LXI	H,RCDT+256
	MVI	B,128
C79:	CMP	M
	JNZ	C71
	INX	H
	INX	H
	DCR	B
;PAGE 1.28
	JNZ	C79
	MVI	C,10000000B
C57:	LHLD	ERCAT
	XCHG
	LHLD	BRCAT
C80:	CALL	C2W2
	JZ	C58
	MOV	A,M
	ANI	10000000B
	CMP	C
	JZ	C76
	INX	H
	INX	H
	INX	H
	CALL	RCATW
	JMP	C80
C58:	MOV	A,C
	LXI	H,RA1A
	RAL
	JNC	C81
	LXI	H,RA2A
C81:	MVI	M,0
	MVI	A,1
	STA	PPB
	JMP	C71
C76:	CALL	RCS
	JMP	C71
C41:	LDA	HPDR
	RAR
	JC	C71
C43:	LXI	H,EAD
	MVI	C,8
C82:	PUSH	H
	LXI	D,NATFN
	MVI	B,6
	CALL	CDDHD
	POP	H
	JZ	C44
	LXI	D,10
	DAD	D
	DCR	C
	JNZ	C82
;PAGE 1.29
	JMP	C55
C44:	LXI	D,6
	DAD	D
	MOV	A,M
	STA	NAEPS
	INX	H
	MOV	A,M
	STA	NAESS
	INX	H
	INX	H
	MOV	A,M
	STA	NADS
	PUSH	H
	CALL	FRR
	LXI	D,(3*130)+2
	CALL	C2W2
	POP	H
	JNC	C117
C54:	MOV	A,M
	DCX	H
	MOV	H,M
	MOV	L,A
	SHLD	HDS
	LXI	H,0108H
	SHLD	HOKW
	MVI	A,130
	STA	HSS
	STA	DSN
	LHLD	ERP
	SHLD	HDCA
	LXI	D,(3*180)+3
	DAD	D
	CALL	RAWA
	SHLD	RDEL
	MVI	A,00000010B
	STA	TRDR
	MVI	A,1
	STA	HNS
	STA	HPDR
	JMP	C71
C117:	CALL	RCS
	JMP	C71
;PAGE 1.30
C55:	CALL	FRR
	LXI	D,552
	CALL	C2W2
	JNC	C118
C56:	LXI	H,0108H
	SHLD	HOKW
	LHLD	IS
	MVI	H,0
	SHLD	HDS
	MVI	A,131
	STA	HSS
	STA	DSN
	LHLD	ERP
	SHLD	HDCA
	LXI	H,1
	SHLD	RDEL
	MVI	A,1
	STA	TRDR
	STA	HNS
	STA	HPDR
	JMP	C71
C118:	CALL	RCS
	JMP	C71
C33:	CALL	ARLBS
C71:
A00:	LDA	LPIP
	CPI	3
	JNZ	A33
A50:	LDA	CCR
	CPI	00001111B
	JNZ	A02
A01:	LDA	ORS
	ORA	A
	JZ	A33
;PAGE 1.31
	JMP	A00
A02:	LHLD	CLP
	XCHG
	LHLD	NLBP
	LDA	SLR
	RAR
	JNC	A34
	LHLD	OLBP
A34:	CALL	C2W2
	JZ	A33
A04:	LDAX	D
	CPI	128
	JC	A06
A05:	CPI	132
	JNZ	A12
A14:	XCHG
	CALL	DLBP
	INX	H
	INX	H
	MOV	A,M
	STA	TS9
	INX	H
	MOV	A,M
	STA	TS10
	CALL	ILBP
	INX	H
	CALL	CSPS
	XCHG
	SHLD	TS11
	MOV	H,B
	MOV	L,C
	SHLD	TS13
	LDA	RA1A
	RAR
	JNC	A77
	LXI	H,TS9
	LXI	D,A1TFN
	MVI	B,6
	CALL	CDDHD
	MVI	A,0
	JZ	A36
A77:	LDA	RA2A
	RAR
	JNC	A72
	LXI	H,TS9
	LXI	D,A2TFN
;PAGE 1.32
	MVI	B,6
	CALL	CDDHD
	MVI	A,1
	JZ	A36
A72:	MVI	A,2
A36:	STA	ORFS
	CPI	2
	JZ	A11
A51:	LXI	H,A1PYM
	DCR	A
	JNZ	A38
	LXI	H,A2PYM
A38:	LXI	D,TS9
	XCHG
	MVI	B,4
	CALL	MDDHD
	LHLD	TS11
	XCHG
	LHLD	OLEC
	CALL	M2B2
	MOV	A,L
	ANI	11111110B
	MOV	L,A
	DAD	H
	DAD	H
	DAD	H
	DAD	H
	JNC	A65
	LXI	H,0FFFFH
A65:	SHLD	OFXM
	LXI	D,360
	CALL	M2B2
	XCHG
	LXI	H,416
	CALL	S2F2
	SHLD	OFPLF
	LHLD	TS9
	XCHG
	LHLD	OLILM
	CALL	M2B2
	MOV	A,L
	ANI	11111110B
	MOV	L,A
	DAD	H
	DAD	H
;PAGE 1.33
	DAD	H
	DAD	H
	JNC	A66
	LXI	H,0FFFFH
A66:	SHLD	OFYM
	LXI	D,369
	CALL	M2B2
	XCHG
	LXI	H,369
	CALL	S2F2
	XCHG
	LHLD	OLBS
	DAD	D
	SHLD	OFYS
	JMP	A11
A12:	CPI	134
	JNZ	A11
A67:	LDA	ORS
	ORA	A
	JNZ	A75
A74:	LHLD	CLP
	CALL	DLBP
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	PUSH	H
	LXI	H,071CH
	CALL	M2B2
	MOV	H,L
	MOV	L,D
	SHLD	BLRC+7
	LXI	D,69 SHL 5
	CALL	M2B2
	MVI	A,69
	SUB	L
	STA	BLRC+11
	POP	H
	INX	H
	MOV	E,M
	LHLD	CLP
	INX	H
	MOV	D,M
;PAGE 1.34
	INX	H
	MOV	A,M
	INX	H
	MOV	H,M
	MOV	L,A
	XCHG
	SHLD	RCP
	XCHG
	CALL	S2F2
	LXI	D,0AABH
	CALL	M2B2
	INX	H
	SHLD	NRC
	LHLD	SEC
	CALL	M2B2
	MVI	B,4
	CALL	SHLR
	SHLD	LRXM
	MVI	L,0FFH
	LXI	D,360 SHL 5
	CALL	M2B2
	LXI	D,360
	XCHG
	CALL	S2F2
	SHLD	LRLFA
	LHLD	SEC
	LXI	D,56 SHL 1
	CALL	M2B2
	SHLD	OFPLF
	MVI	A,1
	STA	ORS
A75:	LHLD	RCP
	XCHG
	LHLD	SEC
	CALL	M2B2
	SUB	A
	DAD	H
	ACI	0
	DAD	H
	ACI	0
	MOV	E,A
	MOV	A,D
	RLC
	RLC
	ANI	3
	ORA	L
;PAGE 1.35
	MOV	L,A
	LDA	OFPLF
	ADD	L
	MOV	L,A
	LDA	OFPLF+1
	ADC	H
	MOV	H,A
	MOV	A,E
	ACI	0
	MOV	E,A
	LDA	NRC
	DCR	A
	JNZ	Z141
	LDA	NRC+1
	ORA	A
	JNZ	Z141
	LDA	LRLFA
	ADD	L
	MOV	L,A
	LDA	LRLFA+1
	ADC	H
	MOV	H,A
	MOV	A,E
	ACI	0
	MOV	E,A
Z141:	MOV	A,L
	STA	CCXS
	MOV	A,H
	RRC
	RRC
	RRC
	RRC
	ANI	0F0H
	MOV	B,A
	ORI	0FH
	STA	CCXM
	LDA	NRC
	DCR	A
	JNZ	Z145
	LDA	NRC+1
	ORA	A
	JNZ	Z145
	LDA	LRXM+1
	ORA	B
	STA	CCXM
Z145:	PUSH	H
;PAGE 1.36
	PUSH	D
	SUB	A
	LXI	B,360
	DAD	B
	ADC	E
	PUSH	PSW
	MVI	B,4
	CALL	SHLR
	POP	PSW
	RRC
	RRC
	RRC
	RRC
	ORA	H
	MOV	H,A
	SHLD	CCLL
	POP	D
	POP	H
	SUB	A
	LXI	B,407
	DAD	B
	ADC	E
	PUSH	PSW
	MVI	B,4
	CALL	SHLR
	POP	PSW
	RRC
	RRC
	RRC
	RRC
	ORA	H
	MOV	H,A
	SHLD	CCRL
	LXI	H,DLB
	SHLD	CCLBA
	LXI	H,350
	SHLD	BT
	LXI	H,119
	SHLD	CCDL
	LXI	H,BLRC
	SHLD	CCDDA
	CALL	A73
A76:	LHLD	NRC
	DCX	H
	SHLD	NRC
	LXI	D,0
;PAGE 1.37
	CALL	C2W2
	JNZ	A78
A79:	SUB	A
	STA	ORS
	JMP	A11
A78:	LHLD	RCP
	LXI	D,24
	DAD	D
	SHLD	RCP
	LHLD	CLP
	CALL	DLBP
	SHLD	CLP
	JMP	A11
A06:	INX	D
	LDAX	D
	RLC
	JC	A11
A53:	LDA	ORFS
	CPI	2
	JZ	A61
A54:	DCX	D
	DCR	A
	LDAX	D
	INX	D
	JNZ	A37
	ORI	10000000B
	MOV	C,A
	LDAX	D
	ORI	00000001B
	JMP	A41
A37:	ANI	01111111B
	MOV	C,A
	LDAX	D
	ANI	11111110B
A41:	STAX	D
	MVI	B,0
	LXI	H,CTLT
	DAD	B
	DAD	B
	DAD	B
	MOV	A,M
;PAGE 1.38
	RAL
	JNC	A09
A07:	LDAX	D
	ANI	00100000B
	JNZ	A31
A26:	LXI	H,RCDT
	DAD	B
	DAD	B
	MOV	A,M
	INR	A
	JNZ	A29
A27:	LDAX	D
	ORI	01000000B
	STAX	D
	JMP	A11
A29:	MOV	M,A
	LDAX	D
	ORI	20H
	STAX	D
A31:	DCX	D
	XCHG
	SHLD	CCLBA
	INX	H
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
	LHLD	OLLL
	XCHG
	CALL	C2W2
A55:	CC	ERROR
	PUSH	H
A56:	LXI	H,RCDT
	DAD	B
	DAD	B
	INX	H
	MOV	L,M
	MVI	H,RCAT SHR 8
	INX	H
	MOV	E,M
	INX	H
	MOV	D,M
;PAGE 1.39
	INX	D
	INX	D
	INX	D
	INX	D
	INX	D
	LDAX	D
	MOV	L,A
	INX	D
	LDAX	D
	MOV	H,A
	DCX	H
	DCX	H
	SHLD	CCDL
	DCX	D
	DCX	D
	DCX	D
	XCHG
	SHLD	TS9
	POP	D
	LHLD	OLEC
	CALL	M2B2
	MOV	A,D
	RAL
	MOV	A,L
	RAL
	MOV	L,A
	MOV	A,H
	RAL
	MOV	H,A
	SUB	A
	DAD	H
	RAL
	XCHG
	LHLD	OFPLF
	DAD	D
	ACI	0
	PUSH	H
	PUSH	PSW
	MOV	A,L
	STA	CCXS
	MOV	A,H
	RRC
	RRC
	RRC
	RRC
	ANI	01110000B
	MOV	C,A
	LHLD	OFXM
;PAGE 1.40
	MVI	B,5
	CALL	SHLR
	MOV	A,C
	ORA	H
	STA	CCXM
	MOV	A,L
	STA	TS11
	LDA	OFYS
	STA	TS12
	LHLD	OFYM
	MVI	B,5
	CALL	SHLR
	LDA	OFYS+1
	RRC
	RRC
	RRC
	RRC
	ANI	011110000B ; MAYBE SHOULD BE 01111000B
	ORA	H
	MOV	H,A
	SHLD	TS13
	LHLD	TS9
	MOV	E,M
	INX	H
	MOV	A,M
	RAL
A57:	CNC	ERROR
	CMC
	RAR
	MOV	D,A
	INX	H
	SHLD	TS9
	LHLD	OFXM
	CALL	M2B2
	POP	PSW
	POP	D
	PUSH	D
	PUSH	PSW
	DAD	D
	ACI	0FH
	ANI	00010000B
	MOV	C,A
	MVI	B,4
	LDA	OLM
	DCR	A
	JZ	A46
	DCR	A
	JNZ	A47
;PAGE 1.41
A46:	MVI	B,5
	MOV	A,C
	RRC
	MOV	C,A
A47:	CALL	SHLR
	MOV	A,C
	ORA	H
	MOV	H,A
	SHLD	CCLL
	LHLD	TS9
	INX	H
	INX	H
	MOV	A,M
	STA	BT
	INX	H
	MOV	A,M
	STA	BT+1
	INX	H
	MOV	E,M
	INX	H
	MOV	A,M
	RAL
A58:	CC	ERROR
	SHLD	TS9
	MOV	D,M
	INX	H
	MOV	A,M
	ORA	A
A59:	CNZ	ERROR
	SHLD	CCDDA
	MOV	A,C
	RRC
	MOV	C,A
	LHLD	OFXM
	CALL	M2B2
	POP	PSW
	POP	D
	DAD	D
	ACI	0FH
	ANI	00010000B
	MOV	C,A
	MVI	B,4
	LDA	OLM
	DCR	A
	JZ	A48
	DCR	A
	JNZ	A49
;PAGE 1.42
A48:	MVI	B,5
A49:	CALL	SHLR
	MOV	A,C
	ORA	H
	MOV	H,A
	SHLD	CCRL
	LHLD	TS9
	LXI	D,6
	DAD	D
	LDA	TS11
	MOV	M,A
	INX	H
	INX	H
	LDA	TS13
	MOV	M,A
	INX	H
	LDA	TS14
	MOV	M,A
	INX	H
	INX	H
	INX	H
	LDA	TS12
	MOV	M,A
	LHLD	ISDIC
	MVI	H,0
	XCHG
	LHLD	SCC
	LDA	SLR
	RAR
	JC	A71
	DAD	D
	XCHG
	LHLD	CCLL
	JMP	A80
A71:	CALL	S2F2
	XCHG
	LHLD	CCRL
	XCHG
A80:	INX	D
	INX	D
	INX	D
	INX	D
	CALL	C2W2
	JNC	A70
	CALL	A73
	JMP	A11
;PAGE 1.43
A70:	LHLD	CCLBA
	INX	H
	MOV	A,M
	ORI	40H
	MOV	M,A
	JMP	A11
A73:	LDA	CCR
	LXI	H,CAN
	MVI	C,00000001B
	RAR
	JNC	A42
	LXI	H,CAN+14
	MVI	C,00000010B
	RAR
	JNC	A42
	LXI	H,CAN+28
	MVI	C,00000100B
	RAR
	JNC	A42
	LXI	H,CAN+42
	MVI	C,00001000B
	RAR
A60:	CC	ERROR
A42:	LXI	D,CCLL
	MVI	B,14
	CALL	MDDHD
	LDA	CCR
	ORA	C
	STA	CCR
	LDA	CCRS
	ORA	C
	STA	CCRS
	RET
A09:	LDAX	D
	ORI	01000000B
	STAX	D
	JMP	A11
A61:	LDAX	D
	ORI	01000000B
;PAGE 1.44
	STAX	D
A11:	LHLD	CLP
	LDA	SLR
	RAR
	JNC	A43
	CALL	DLBP
	JMP	A44
A43:	CALL	ILBP
A44:	SHLD	CLP
	JMP	A00
A33:	LHLD	NLBP
	XCHG
	LHLD	OLCP
	CALL	C2W2
	JZ	A35
A19:	MOV	A,M
	RAL
	JNC	A22
A20:	CALL	ILBP
	SHLD	OLCP
	MVI	A,1
	STA	PPB
	JMP	A35
A22:	INX	H
	MOV	A,M
	RAL
	JNC	A35
A23:	CALL	ILBP
	SHLD	OLCP
	MVI	A,1
	STA	PPB
A35:
;PAGE 1.45
J08:	LXI	H,PPB
	MOV	A,M
	MVI	M,0
	RAR
	JC	J10
J11:	SUB	A
	STA	PPA
	LDA	GPTB
	RAR
	JC	J12
	LHLD	MCPUT
	MOV	A,L
	OUT	GTIMR
	MOV	A,H
	OUT	GTIMR
J12:	POP	H
	POP	D
	POP	B
	POP	PSW
	RET
J10:	JMP	K01
SDIS:
F00:	PUSH	PSW
	PUSH	B
	PUSH	D
	PUSH	H
	LDA	ISDIC
	ORA	A
	JZ	F09
F02:	DCR	A
	STA	ISDIC
	IN	COLL
;PAGE 1.46
	LHLD	SCC
	LDA	SLR
	RAR
	JC	F06
F04:	INX	H
	SHLD	SCC
	JMP	F13
F06:	DCX	H
	SHLD	SCC
F13:	LXI	H,SSDI
	MOV	A,M
	RAR
	JNC	F10
F08:	MVI	M,2
	LXI	H,MSLS
	MOV	A,M
	ORI	00001000B
	MOV	M,A
	OUT	MSLCH
F10:
F11:	POP	H
	POP	D
	POP	B
	MVI	A,20H
	DI
	OUT	INT
	POP	PSW
	EI
	RET
F09:	OUT	DMA+10
	LHLD	C2DIA
	XCHG
	LHLD	C2XMD
	LDAX	D
	MOV	M,A
	INX	H
	INX	H
	INX	H
	INX	D
	LDAX	D
	MOV	M,A
	INX	D
;PAGE 1.47
	LDAX	D
	ADI	3
	OUT	DMA
	INX	D
	LDAX	D
	ACI	0
	OUT	DMA
	INX	D
	LDAX	D
	OUT	DMA+6
	INX	D
	LDAX	D
	OUT	DMA+7
	OUT	DMA+10
	IN	COLL
	LXI	H,SSDI
	MOV	A,M
	ORA	A
	JNZ	F16
	INR	M
F16:	CALL	GNC
F17:	JMP	RDC
BLRC:	DB	0,68H,0B9H,45H,0,0FFH,0FFH,0FFH,0FFH
	DB	0FFH,0FFH,0FFH,0FFH,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
;PAGE 1.48
	DB	4FH,0C2H,0E0H,0C1H,0C1H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	0FH,1EH,3CH,78H,0F0H,0E0H,0C1H,83H,7
	DB	4FH,18H,3CH,38H,0,0,0,0F8H
IRD:	HLT	; RS232 INTERFACE CODE NOT SUPPLIED (STEADY-STATE)
IRI:	HLT	; DITTO (INITIALIZE)
RDI:	HLT	; DITTO (INTERRUPT)
;DATA STRUCTURES
	ORG	69C0H
LB:	DS	512*3
RCAT:	DS	61*3
EAD:	DS	8*10
CTLT:	DS	2*(128*3)
RCDT:	DS	2*(128*2)
OLT:
OLUD:	DS	1
OLLL:	DS	2
OLBP:	DW	IB
OLYC:	DS	2
OLM:	DS	1
OLLMR:	DS	2
OLRMR:	DS	2
OLLOD:	DS	2
OLROD:	DS	2
OLBS:	DS	2
OLLSC:	DS	1
OLRSC:	DS	2
OLAL:	DS	1
OLSP:	DS	2
OLC:	DS	1
OLRL:	DS	1
OLBB:	DS	2
OLL:	DS	1
OLILM:	DS	2
OLEC:	DS	2
OLCOA:	DS	2
OLLS:	DS	2
NLT:
NLUD:	DS	1
NLLL:	DS	2
NLBP:	DW	LB
NLYC:	DS	2
NLM:	DS	1
NLLMR:	DS	2
NLRMR:	DS	2
NLLOD:	DS	2
NLROD:	DS	2
NLBS:	DS	2
NLLSC:	DS	1
NLRSC:	DS	2
NLAL:	DS	1
NLMSP:	DS	2
NLC:	DS	1
NLRL:	DS	1
NLBB:	DS	2
NLL:	DS	1
NLILM:	DS	2
NLEC:	DS	2
NLCOA:	DS	2
NLLS:	DS	2
NLMSC:	DS	2
VMDT:
SAL:	DB	8
SSP:	DW	1829
SC:	DB	8
SRL:	DB	00001101B
SMBB:	DW	4000H
SL:	DB	00010000B
SILM:	DW	8000H
SEC:	DW	7FFFH
SC0A:	DW	26*8
SLS:	DW	0
SMSC:	DW	5E10H
ZAL:	DB	37
ZSP:	DW	915
ZC:	DB	8
ZRL:	DB	00011101B
ZBB:	DW	6DB7H
ZL:	DB	00010000B
ZILM:	DW	8000H
ZEC:	DW	7FEDH
ZC0A:	DW	26*8
ZLS:	DW	0
ZMSC:	DW	5E10H
TZAL:	DB	84
TZSP:	DW	610
TZC:	DB	12
TZRL:	DB	00011101B
TZBB:	DW	9249H
TZL:	DB	00010000B
TZILM:	DW	8000H
TZEC:	DW	553EH
TZC0A:	DW	26*12
TZLS:	DW	0
TZMSC:	DW	5E10H
M3AL:	DB	8
M3SP:	DW	1894
M3C:	DB	24
M3RL:	DB	00000111B
M3BB:	DW	4925H
M3L:	DB	00100000B
M3ILM:	DW	2C65H
M3EC:	DW	2AA5H
M3C0A:	DW	26*24
M3LS:	DW	2550
M3MSC:	DW	5AE0H
NAA:	DB	1
NATFN:	DS	2
NADPS:	DS	2
NADSS:	DS	2
NAEPS:	DS	1
NAESS:	DS	1
NADS:	DS	1
NAPYM:	DS	2
NAPXM:	DS	2
RA1A:	DB	0
A1TFN:	DS	2
A1DPS:	DS	2
A1DSS:	DS	2
A1EPS:	DS	1
A1ESS:	DS	1
RA1DS:	DS	1
A1PYM:	DS	2
A1PXM:	DS	2
RA2A:	DB	0
A2TFN:	DS	2
A2DPS:	DS	2
A2DSS:	DS	2
A2EPS:	DS	1
A2ESS:	DS	1
RA2DS:	DS	1
A2PYM:	DS	2
A2PXM:	DS	2
SBST:	DW	570
	DW	171
	DW	510
	DW	153
	DW	450
	DW	135
	DW	360
	DW	108
	DW	300
	DW	90
	DW	210
	DW	63
	DW	150
	DW	45
	DW	60
	DW	18
	DW	0
	DW	0
ZBST:	DW	-240
	DW	-72
	DW	-210
	DW	-63
	DW	-180
	DW	-54
	DW	-180
	DW	-54
	DW	-150
	DW	-45
	DW	-150
	DW	-45
	DW	-150
	DW	-45
	DW	-150
	DW	-45
SCT:	DB	7
	DB	8
	DB	9
	DB	11
	DB	12
	DB	13
	DB	15
	DB	16
	DB	17
	DB	18
	DB	20
	DB	21
	DB	22
	DB	23
M3FMS:	DW	-170
M3BS:	DW	0
MYC:	DW	29200
IFMP:	DW	30000
FMP:	DW	30000
LM0:	DW	3500
MXC:	DW	42666
BLC:	DW	4E1H
LMP:	DW	0
MLAL:	DB	88
MLTSP:	DW	597
MSLS:	DB	0
BLS:	DB	11110110B
NAD:	DB	1
NLBR:	DB	0
NLR:	DB	0
NLSP:	DW	LB
NLXC:	DS	2
NLSS:	DW	0
NLPS:	DW	0
NLS:	DB	0
LRS:	DB	0
LRPS:	DW	0
LRSS:	DW	0
SPSL:	DB	0
ORFS:	DB	2
OFXM:	DS	2
OFPLF:	DS	2
OFYM:	DS	2
OFYS:	DS	2
BCS:	DW	0
TOOD:	DW	0
TOO:	DB	0
SLR:	DB	0
LPIP:	DB	0
OLCP:	DW	LB
FSCD:	DB	0
PPA:	DB	0
PPB:	DB	0
MCPUT:	DW	14336
TS1:	DS	1
TS2:	DS	1
TS3:	DS	1
TS4:	DS	1
TS5:	DS	1
TS6:	DS	1
TS7:	DS	1
TS8:	DS	1
EADLP:	DW	EAD
BRCAT:	DW	RCAT
ERCAT:	DW	RCAT
GPTB:	DB	0
RLBSP:	DW	LB
BRP:	DW	CRT
RSRAS:	DB	0
ERP:	DW	CRT
RDEL:	DW	0
DARS:	DB	0
TRDR:	DB	0
DSN:	DB	0
RCEL:	DW	0
RDS2:	DS	2
RDS1:	DS	1
RCT:	DB	0
RRD:	DB	0
SCC:	DW	0
EOC1:	DW	0
EOC2:	DW	0
CLP:	DW	LB
CCLL:	DW	0
CCRL:	DW	0
CCLBA:	DW	0
BT:	DW	0
CCXM:	DB	0
CCXS:	DB	0
CCDL:	DW	0
CCDDA:	DW	0
C1DIA:	DW	0
C1XMD:	DW	0
C1CC:	DB	0
C2DIA:	DW	0
C2XMD:	DW	0
C2CC:	DB	0
CCR:	DB	0
CCRS:	DB	0
ISDIC:	DB	0
SSDI:	DB	0
CAN:	DS	4*14
ACLIM:	DB	9
LSTEP:	DW	0
ASTEP:	DB	0
LACNT:	DB	0
ACCEL:	DB	0
LTERM:	DW	1792
ACTBL:	DB	1
FACLM:	DB	31
FSTEP:	DW	0
FASTP:	DB	0
FTABP:	DW	0
FACNT:	DB	0
FACEL:	DB	0
TABFP:	DW	0
LSB:	DB	0
MSB:	DB	0
FTERM:	DW	995
FACTB:	DB	0
LBLP:	DW	LB
DM2:	DB	8,'COMMAND?'
DM5:	DB	'CANNOT WRITE DISC '
DM5V:	DS	1
DM7:	DB	18,'CANNOT READ DISC '
DM7V:	DS	1
DM9:	DB	9,'EXPOSURE '
DM10:	DB	13,'COMMAND ERROR'
DM11:	DB	11,'FILM WIDTH '
DM12:	DB	12,'FILM LENGTH '
DM14:	DB	6,'SPEED '
DM22:	DB	12,'PRINTER BUSY'
DM23:	DB	17,'CANNOT READ MENUE'
DM24:	DB	13,'FILM OVERFLOW'
DM25:	DB	19,'CANNOT FIND FONT 00'
DM26:	DB	12,'ILLEGAL CODE'
RCP:	DW	0
NRC:	DW	0
ORS:	DB	0
RS:	DB	0
SIC:	DB	0
SFL:	DW	0
LLC:	DW	0
BILP:	DW	IB
HRL:	DB	0
LILA:	DW	0
LIFLA:	DW	0
SOV:	DW	217
RSP:	DW	0
HRH:	DB	0
BRC:	DB	0
ICR:	DB	0
MDM:	DB	0
FW:	DB	0
FL:	DB	0
ROS:	DB	0
IS:	DB	0
BR:	DB	0
IBLP:	DW	IB
WLBLP:	DW	LB
WFL:	DW	0
REE:	DB	0
LFV:	DW	0
CIV:	DW	0
NIV:	DW	0
NFL:	DW	0
IFLEV:	DW	0 ; CALLED 'IFL' IN SOURCE
OLES:	DW	0FFFFH
OS:	DB	0
ECF:	DB	0
EL1:	DB	0
IBRP:	DW	IB
SIL:	DB	0
NHC:	DB	0
NHB:	DS	4
FMLF:	DB	0
FM:	DS	40*8
MLTFN:	DW	0
MLFS:	DW	0
MLSPS:	DW	0
FFD:	DB	0
MLWF:	DB	0
EL2:	DB	0
JDD:	DB	0
ICS:	DB	0
JD:	DB	0
WLS:	DB	0
HRS:	DB	0
ILD:	DB	0
WLL:	DW	0
ARU:	DW	0
AP:	DW	0
IFS:	DW	0
ICCT:	DS	256
CST:	DS	20
M3LEC:	DW	8000H
REV:	DW	0
PPS:	DB	0
DSL:	DB	0
WF:	DW	0
LRXM:	DS	2
LRLFA:	DS	2
EC:	DW	0
DC1:	DB	1,1,1,0,131,0,80H,1
DM3:	DB	24,'CANNOT FIND 00-0000-00.0'
	ORG	7B80H
IB:	DS	7*128
TS9:	DS	1
TS10:	DS	1
TS11:	DS	1
TS12:	DS	1
TS13:	DS	1
TS14:	DS	1
	ORG	7FC2H
ISPV:
LMBSY:	DB	0
FMBSY:	DB	0
KBLC:	DB	0
BTS3:	DB	0
BTS4:	DB	0
BTS5:	DB	0
BTS6:	DB	0
BTS7:	DB	0
BTS1:	DB	0
KBIB:	DS	5
HPDR:	DB	0
HOKW:	DB	0
HCW:	DB	0
HDS:	DB	0
HTS:	DB	0
HSS:	DB	0
HDCA:	DW	0
HNS:	DB	0
HVSS:	DB	1
LPDR:	DB	0
LOKW:	DB	0
LCW:	DB	0
LDS:	DB	0
LTS:	DB	0
LSS:	DB	0
LDCA:	DW	0
LNS:	DB	0
LVSS:	DB	0
	DS	10
VARSE:	DB	0
	DS	9
OKWD:	DB	0
COMWD:	DB	0
DISC:	DB	0
TRACK:	DB	0
SECTR:	DB	0
ADDR:	DW	0
NSCT:	DB	0
	ORG	8000H
CRT:	DS	16*1024
TB	EQU	8720H
;PAGE 4.1
	ORG	0B000H
FA:	LXI	D,DM17
	CALL	SMD
	SUB	A
	STA	FSRL
	STA	NSTB
	LXI	H,0
	SHLD	THDT
	STA	CDW
	LXI	H,DC1
	SUB	A
	STA	DC1+2
	CALL	SDC
S01:	ORA	A
	JZ	S03
S02:	LXI	D,DM7
	MVI	A,'0'
	STA	DM7V
S35:	CALL	NFE
	RET
S03:	LHLD	8003H
	XCHG
	LXI	H,2C1EH
	INX	H
	MOV	A,E
	SUB	M
	JNZ	S01
	MOV	A,D
	INX	H
	SUB	M
	JNZ	S01
;PAGE 4.2
	LXI	H,TB
	SHLD	TBLP
	SHLD	LSTB
	SUB	A
	STA	NSTB
	LXI	H,DC3
	CALL	SDC
S07:	ORA	A
	JZ	S09
S08:	LXI	H,DC4
	CALL	SDC
	LXI	H,2
	SHLD	8204H
	MVI	A,131
	STA	8203H
	SUB	A
	STA	FLT
	MVI	A,131
	STA	TB
	LXI	H,512
	SHLD	TB+1
	LXI	H,TB+512+3
	SHLD	TBLP
	CALL	ISNT
	JMP	S15
S09:	LHLD	8206H
	XCHG
	LXI	H,101DH
	INX	H
	INX	H
	MOV	A,E
	SUB	M
	JNZ	S01
	INX	H
	MOV	A,D
	SUB	M
	JNZ	S01
S10:	LHLD	8204H
	LXI	D,8205H
	DAD	D
	XCHG
;PAGE 4.3
	MVI	B,0
	LXI	H,8208H
S29:	PUSH	D
	LXI	D,8
	DAD	D
	MOV	A,B
	CMP	M
	JNC	S30
	MOV	B,M
S30:	INX	H
	POP	D
	CALL	C2W2
	JNC	S29
	MOV	A,B
	STA	DC5+3
	LXI	H,DC5
	CALL	SDC
S11:	ORA	A
	JNZ	S16
S13:	CALL	RACT
	LXI	H,OKWD
	MOV	A,M
	ORA	A
	JNZ	S16
	LXI	D,8406H
	LHLD	ADDR
	SHLD	LSTB
	LXI	B,393+256
	CALL	PDDHD
	SHLD	TBLP
	CALL	ISNT
	LDA	TRACK
	STA	FLT
	CALL	TTBF
	JNC	S15
	LXI	H,FLT
	INR	M
	LXI	H,TB
	SHLD	TBLP
	SUB	A
;PAGE 4.4
	STA	NSTB
	LXI	H,0
	SHLD	THDT
S15:	LDA	OKWD
	ORA	A
	JZ	S18
S16:	LXI	D,DM7
	MVI	A,'1'
	STA	DM7V
S17:	CALL	NFE
	RET
S18:	SUB	A
	STA	KBLC
	LXI	D,DM18
	CALL	SMD
	MVI	B,4
	CALL	RDKC
	LXI	H,KBIB
	MVI	B,4
	CALL	BCDTB
	SHLD	LFFN
	LXI	D,DM19
	CALL	DCS
	SUB	A
	STA	KBLC
	MVI	B,1
	CALL	RDKC
S23:	LDA	KBIB
	CPI	0AH
	JZ	S24
	CPI	0BH
	JZ	S25
S26:	MVI	B,1
	CALL	RDKC
	MVI	A,'.'
;PAGE 4.5
	CALL	DC
	MVI	B,1
	CALL	RDKC
	CALL	D1S
	LXI	H,KBIB
	MVI	B,2
	CALL	BCDTB
	DAD	H
	DAD	H
	DAD	H
	LDA	KBIB+2
	ORA	A
	JZ	S36
	LXI	D,4
	DAD	D
S36:	SHLD	SFPS
	LXI	H,LFFN
	SHLD	SFA
	JMP	S27
S24:	LXI	H,TRT
	SHLD	SFA
	MVI	A,1
	STA	FSRL
	JMP	S27
S25:	LXI	H,DRT
	SHLD	SFA
	MVI	A,1
	STA	FSRL
S27:	LXI	D,DM17
	CALL	SMD
T00:	LHLD	341FH
	SHLD	8206H
	LHLD	SFA
	LXI	D,LFSPS
	MOV	A,M
	STAX	D
	INX	H
	INX	D
	MOV	A,M
;PAGE 4.6
	STAX	D
	LHLD	8001H
	LXI	D,8003H
	DAD	D
	INX	D
	INX	D
T48:	PUSH	H
	LXI	H,LFFN
	LDAX	D
	CMP	M
	INX	D
	INX	H
	JNZ	T49
	LDAX	D
	CMP	M
	JNZ	T49
	INX	H
	MOV	C,M
	INX	H
	MOV	B,M
	XCHG
	INX	H
	MOV	A,M
	STA	LFEPS
	INX	H
	MOV	A,M
	STA	LFESS
	INX	H
	MOV	A,M
	STA	LFCDT
	INX	H
	MOV	E,M
	INX	H
	MVI	D,0
T50:	MOV	A,B
	INX	H
	CMP	M
	DCX	H
	JC	T52
	JNZ	T51
	MOV	A,C
	CMP	M
	JC	T52
	JNZ	T51
	INX	H
	INX	H
	INX	H
	INX	H
	JMP	T78
T51:	INX	H
;PAGE 4.7
	INX	H
	INX	H
	INX	H
	DCR	E
	DCR	E
	DCR	E
	DCR	E
	JZ	T53
	INR	D
	JMP	T50
T52:	MOV	A,D
	ORA	A
	JZ	T53
T78:	DCX	H
	MOV	D,M
	DCX	H
	MOV	E,M
	DCX	H
	MOV	A,M
	DCX	H
	MOV	L,M
	MOV	H,A
	XCHG
	CALL	S2F2
	DAD	B
	SHLD	LFSSS
	POP	H
	JMP	T03
T49:	XCHG
	INX	H
	INX	H
	INX	H
	INX	H
	MOV	E,M
	INX	H
T53:	MVI	D,0
	DAD	D
	XCHG
	POP	H
	CALL	C2W2
	JC	T48
T01:	LXI	D,DM20
T02:	CALL	NFE
	SUB	A
	STA	FSRL
	JMP	T60
T03:
;PAGE 4.8
T04:	LHLD	8204H
	LXI	D,8206H
	DAD	D
	INX	D
	INX	D
	LXI	B,0
T54:	PUSH	H
	PUSH	D
	LXI	H,LFFN
	LDAX	D
	CMP	M
	JNZ	T55
	INX	D
	INX	H
	LDAX	D
	CMP	M
	JNZ	T55
	INX	D
	INX	H
	LDAX	D
	CMP	M
	INX	D
	INX	H
	JNZ	T56
	LDAX	D
	CMP	M
	JNZ	T56
	LXI	B,101H
	JMP	T55
T56:	INX	D
	INX	H
	INX	D
	INX	H
	INX	D
	INX	H
	LDAX	D
	CMP	M
	JNZ	T55
	MVI	C,1
	INX	D
	INX	D
	LDAX	D
	STA	LFCDT
T55:	POP	D
	LXI	H,9
	DAD	D
	XCHG
	POP	H
	CALL	C2W2
	JC	T54
;PAGE 4.9
	DCR	C
	JNZ	T13
T05:	DCR	B
	JZ	T60
T08:	CALL	AADD
	JNC	T58
T57:	LXI	D,DM21
T67:	CALL	NFE
T59:	SUB	A
	STA	FSRL
	JMP	T60
T58:	SHLD	8204H
	JMP	T60
T13:	LXI	H,DC7
	LDA	LFCDT
	STA	DC7+3
	CALL	SDC
T14:	LDA	OKWD
	ORA	A
	JNZ	T60
T16:	SUB	A
	STA	LPN
T17:	LDA	LPN
	STA	FPT
T25:	SUB	A
	STA	TBDS
	LDA	LPN
	MOV	E,A
	MVI	D,0
	LXI	H,0
	DAD	D
	DAD	H
	DAD	D
	LXI	D,8595H
	DAD	D
	SHLD	LPA
	INX	H
;PAGE 4.10
	INX	H
	MOV	B,M
	MOV	A,B
	ANI	00111111B
	MOV	M,A
	MOV	A,B
	RLC
	RLC
	ANI	00000011B
	STA	LPBC
T18:	LDA	LPN
	CPI	130
	JNZ	T27
T26:	SUB	A
	STA	LPBC
	INR	A
	STA	CDW
	LHLD	TBLP
	SHLD	LSTB
	LXI	D,8592H
	LXI	B,393+256
	CALL	PDDHD
	SHLD	TBLP
	CALL	ISNT
	JMP	T20
T27:	LHLD	LPA
	MOV	A,M
	MOV	B,A
	CPI	77
	JZ	T69
T68:	LDA	TBDS
	ORA	A
	JNZ	T72
T73:	LDA	FLT
	MOV	M,A
T72:	MOV	A,B
	STA	TRACK
	MVI	A,1
	STA	COMWD
	STA	NSCT
	SUB	A
	STA	DISC
;PAGE 4.11
	LDA	LPN
	STA	SECTR
	LHLD	TBLP
	SHLD	ADDR
	CALL	ISNT
	MVI	A,8
	STA	OKWD
	CALL	WUDCD
T19:	LDA	TBDS
	ORA	A
	JZ	T79
T70:	LHLD	TBS1
	XCHG
	LHLD	TBLP
	MOV	M,E
	INX	H
	MOV	M,D
	INX	H
	LDA	TBS3
	MOV	M,A
T79:	LHLD	ADDR
	SHLD	TBLP
T20:	LDA	OKWD
	ORA	A
	JNZ	T33
T22:	LXI	H,LPBC
	MOV	A,M
	ORA	A
	JZ	T28
T24:	DCR	M
	LHLD	ADDR
	DCX	H
	MOV	A,M
	STA	TBS3
	DCX	H
	MOV	D,M
	DCX	H
	MOV	E,M
	SHLD	TBLP
	XCHG
	SHLD	TBS1
	MVI	A,1
;PAGE 4.12
	STA	TBDS
	JMP	T18
T69:	SUB	A
	STA	LPBC
	JMP	T20
T28:	LXI	H,LPN
	INR	M
	MOV	A,M
	CPI	131
	JZ	T33
T30:	CALL	TTBF
	JC	T33
T37:	LHLD	TBLP
	SHLD	LSTB
	JMP	T25
T33:	LDA	OKWD
	ORA	A
	JNZ	T60
T35:	LDA	FLT
	CPI	77
	JNZ	T38
T36:	LXI	D,DM21
T32:	CALL	NFE
	SUB	A
	STA	FSRL
	JMP	T60
T38:	STA	TBDS
	LHLD	TBLP
	LXI	D,TB
	CALL	S2F2
	XCHG
	LHLD	THDT
	DAD	D
	LXI	D,4889
	CALL	S2F2
;PAGE 4.13
	JC	T43
T39:	XCHG
	LHLD	LSTB
	MOV	A,M
	CPI	128
	JZ	T40
	CPI	130
	JNZ	T41
T40:	LXI	H,NSTB
	DCR	M
	JMP	T43
T41:	STA	TBS1
	INX	D
	XCHG
	SHLD	TBS2
	MVI	A,1
	STA	TBDS
	XCHG
	INX	H
	MOV	A,M
	SUB	E
	MOV	M,A
	INX	H
	MOV	A,M
	SBB	D
	MOV	M,A
	LHLD	LPA
	INX	H
	INX	H
	MOV	A,M
	ORI	40H
	MOV	M,A
T43:	MVI	A,1
	STA	DISC
	INR	A
	STA	COMWD
	LXI	H,NSTB
	MOV	A,M
	MVI	M,0
	STA	NSCT
	LDA	FLT
	STA	TRACK
	LXI	H,TB
	SHLD	ADDR
	MOV	A,M
;PAGE 4.14
	STA	SECTR
	CALL	SDC1
	LDA	TRACK
	STA	LFCDT
	INR	A
	STA	FLT
	CALL	CVST
	JNZ	T60
T45:	LXI	H,0
	SHLD	THDT
	LHLD	ADDR
	XCHG
	LHLD	TBLP
	CALL	C2W2
	LXI	H,TB
	JZ	T74
	LHLD	TBLP
	CALL	S2F2
	MOV	C,L
	MOV	B,H
	MOV	A,L
	ORA	A
	JZ	T75
	INR	B
T75:	LXI	H,TB
	LDA	TBDS
	DCR	A
	JNZ	T76
	STA	TBDS
	LDA	TBS1
	MOV	M,A
	INX	H
	LDA	TBS2
	MOV	M,A
	INX	H
	LDA	TBS2+1
	MOV	M,A
	INX	H
T76:	CALL	PDDHD
	MVI	A,1
	STA	NSTB
	PUSH	H
	LXI	H,22
	SHLD	THDT
	POP	H
T74:	SHLD	TBLP
	LDA	CDW
;PAGE 4.15
	ORA	A
	JZ	T17
	LXI	D,TB
	CALL	C2W2
	JNZ	T17
	LHLD	7204H
	LXI	D,8206H
	DAD	D
	CALL	AADD
	JNC	T81
	LXI	D,DM21
T80:	CALL	NFE
	SUB	A
	STA	FSRL
	JMP	T60
T81:	SHLD	8204H
T60:	LHLD	SFA
	INX	H
	INX	H
	SHLD	SFA
	LDA	OKWD
	ORA	A
	JNZ	S28
T62:	LDA	FSRL
	ORA	A
	JZ	T77
T63:	MOV	A,M
	CPI	0FFH
	JNZ	T00
T77:	LHLD	8204H
	MOV	B,H
	MOV	C,L
	LXI	D,8203H
	INX	B
	INX	B
	INX	B
	LXI	H,TB
	INR	C
	DCR	D
	JZ	T82
;PAGE 4.16
	INR	B
T82:	CALL	PDDHD
	SHLD	TBLP
	MVI	A,1
	STA	NSTB
	LXI	H,22
	SHLD	THDT
	LDA	8203H+13
	STA	DC5+3
	LXI	H,DC5
	CALL	SDC
	LDA	OKWD
	ORA	A
	JNZ	S28
	MVI	B,0
	CALL	RACT
	LDA	OKWD
	ORA	A
	JNZ	S28
	LHLD	101FH
	SHLD	8206H
	LDA	NSTB
	STA	DC6+7
	LXI	H,DC6
	CALL	SDC
	CALL	CVST
S28:	LDA	OKWD
	ORA	A
	RZ
S32:	LDA	DISC
	ADI	'0'
	STA	DM5V
	STA	DM7V
	LDA	COMWD
	DCR	A
	LXI	D,DM5
	JNZ	S31
	LXI	D,DM7
S31:	CALL	NFE
	RET
;PAGE 4.17
CVST:	LDA	NSCT
	MOV	B,A
Z111:	LHLD	ADDR
	MOV	A,M
	STA	SECTR
	MVI	A,1
	STA	NSCT
	MVI	A,3
	STA	COMWD
	CALL	SDC1
	ORA	A
	RNZ
	DCR	B
	JNZ	Z111
	RET
TTBF:	LHLD	TBLP
	LXI	D,TB
	CALL	S2F2
	XCHG
	LHLD	THDT
	DAD	D
	LXI	D,4888-25
	CALL	C2W2
	RET
AADD:	LXI	D,LFFN
	MVI	B,9
	CALL	MDDHD
	LHLD	8204H
	LXI	D,9
	DAD	D
	LXI	D,512
	CALL	C2W2
	RET
ISNT:	LXI	H,NSTB
	INR	M
	LHLD	THDT
;PAGE 4.18
	LXI	D,22
	DAD	D
	SHLD	THDT
	RET
RACT:	LXI	D,8409H
	MVI	C,0
Z101:	LDAX	D
	CMP	B
	JNZ	Z102
	LHLD	TBLP
	SHLD	LSTB
	SHLD	ADDR
	MVI	A,1
	STA	NSCT
	STA	VARSE
	STA	DISC
	STA	COMWD
	MOV	A,C
	STA	SECTR
	MOV	A,B
	STA	TRACK
	MVI	A,8
	STA	OKWD
	CALL	WUDCD
	LDA	OKWD
	ORA	A
	RNZ
	PUSH	D
	CALL	ISNT
	POP	D
	LHLD	ADDR
	SHLD	TBLP
Z102:	INR	C
	INX	D
	INX	D
	INX	D
	LXI	H,8592H
	CALL	C2W2
	JC	Z101
	RET
;PAGE 4.19
WP:	LXI	D,DM4
	CALL	SMD
	LXI	H,DC2
	CALL	SDC
	ORA	A
	RZ
	MVI	A,'1'
	STA	DM5V
	LXI	D,DM5
N06:	CALL	NFE
	RET
MM:	LXI	D,DM13
	CALL	SMD
	SUB	A
	STA	KBLC
	MVI	B,4
	CALL	RDKC
	LHLD	KBIB
	MOV	A,L
	RLC
	RLC
	RLC
	RLC
	ORA	H
	MOV	D,A
	LHLD	KBIB+2
	MOV	A,L
	RLC
	RLC
	RLC
	RLC
;PAGE 4.20
	ORA	H
	MOV	L,A
	MOV	H,D
R01:	LXI	D,3FFFH
	CALL	C2W2
	JC	R23
R21:	LXI	D,DM10
R24:	CALL	NFE
	RET
R23:	MOV	B,M
	PUSH	H
	LXI	H,DM27+2
	MOV	A,B
	RRC
	RRC
	RRC
	RRC
	CALL	CAC
	MOV	A,B
	CALL	CAC
	LXI	D,DM27
	CALL	DCS
	SUB	A
	STA	KBLC
	MVI	B,2
	CALL	RDKC
	LHLD	KBIB
	MOV	A,L
	RRC
	RRC
	RRC
	RRC
	ORA	H
	POP	H
	MOV	M,A
	INX	H
R20:	LDA	KBLC
	CPI	3
	JC	R20
	LDA	KBIB+2
;PAGE 4.21
R02:	CPI	0AH
	JZ	R01
	RET
CD:	LXI	D,DM6
	CALL	SMD
	MVI	A,1
	STA	ICR
	LXI	B,1560H
	LXI	D,0100H
	SUB	A
	STA	VARSE
N09:	LXI	H,NSCT
	MOV	M,C
	DCX	H
	MVI	M,80H
	DCX	H
	SUB	A
	MOV	M,A
	DCX	H
	MOV	M,D
	DCX	H
	MOV	M,E
	DCX	H
	MOV	M,A
	DCX	H
	MVI	M,1
	DCX	H
	MVI	M,8
	CALL	WUDCD
	ORA	A
	JZ	N15
;PAGE 4.22
N13:	MVI	A,'0'
	STA	DM7V
	LXI	D,DM7
N14:	CALL	NFE
	MVI	B,1
	JMP	N22
N15:	LXI	H,NSCT
	MOV	M,C
	DCX	H
	MVI	M,80H
	DCX	H
	SUB	A
	MOV	M,A
	DCX	H
	MOV	M,D
	DCX	H
	MOV	M,E
	DCX	H
	MVI	M,1
	DCX	H
	MVI	M,2
	DCX	H
	MVI	M,8
	CALL	WUDCD
	ORA	A
	JZ	N22
N19:	MVI	A,'1'
	STA	DM5V
	LXI	D,DM5
N20:	CALL	NFE
	MVI	B,1
N22:	LHLD	TRACK
	XCHG
	MVI	A,2
	CMP	B
	JNZ	N25
N23:	MVI	C,82
N25:	DCR	B
;PAGE 4.23
	JNZ	N09
	RET
ID:	LXI	D,DM8
	CALL	SMD
	LXI	H,0001H
	SHLD	DISC
	SUB	A
	STA	VARSE
	MVI	A,6
	STA	VARSE
	MVI	A,6
	STA	COMWD
P01:	MVI	A,26
	STA	NSCT
	MVI	A,1
	STA	SECTR
	MVI	A,8
	STA	OKWD
	CALL	WUDCD
P02:	ORA	A
	JZ	P06
P03:	MVI	A,'1'
	STA	DM5V
	LXI	D,DM5
P04:	CALL	NFE
	RET
P06:	LDA	TRACK
	CPI	77
	JNZ	P01
	RET
;PAGE 4.24
CIS:	LXI	D,DM15
	CALL	SMD
	LDA	IS
	ADI	'0'
	CALL	DC
	MVI	A,'-'
	CALL	DC
	SUB	A
	STA	KBLC
	MVI	B,1
	CALL	RDKC
	CALL	D1S
	LDA	KBIB
	ANI	0FH
R11:	CPI	2
	JNC	R13
R12:	STA	IS
	RET
R13:	LXI	D,DM10
R14:	CALL	NFE
	RET
CBR:	LXI	D,DM16
	CALL	SMD
	LDA	BR
	ADI	'0'
	CALL	DC
	MVI	A,'-'
	CALL	DC
	SUB	A
	STA	KBLC
;PAGE 4.25
	MVI	B,1
	CALL	RDKC
	CALL	D1S
	LDA	KBIB
	ANI	0FH
R16:	CPI	5
	JNC	R18
R17:	STA	BR
	DB	0,0,0,0,0,0 ; CALL IRI
	RET
R18:	LXI	D,DM10
R19:	CALL	NFE
	RET
DM4:	DB	7,'WRITING'
DM6:	DB	7,'COPYING'
DM8:	DB	12,'INITIALIZING'
DM13:	DB	8,'ADDRESS '
DM15:	DB	6,'INPUT '
DM16:	DB	10,'BAUD RATE '
DM17:	DB	7,'LOADING'
DM18:	DB	12,'FACE NUMBER '
DM19:	DB	12,' POINT SIZE '
;PAGE 4.26
DM20:	DB	20,'CANNOT FIND ALPHABET'
DM21:	DB	14,'FONT DISC FULL'
DM27:	DB	4,' XX-'
DC2:	DB	0,2,1,0,1,0,40H,0
DC3:	DB	1,1,1,0,131,3,82H,1
DC4:	DB	0,1,1,0,1,3,82H,1
DC5:	DB	1,1,1,1,130,6,84H,1
DC6:	DB	1,2,1,0,131,3,82H,1
DC7:	DB	1,1,0,0,130,92H,85H,1
THDT:	DW	0
CDW:	DB	0
FLT:	DB	0
SFA:	DW	0
LFFN:	DW	0
LFSPS:	DW	0
LFSSS:	DW	0
LFEPS:	DB	0
LFESS:	DB	0
LFCDT:	DB	0
;PAGE 4.27
LPN:	DB	0
FPT:	DB	0
LPA:	DW	0
LPBC:	DB	0
TBDS:	DB	0
TBS1:	DB	0
TBS2:	DB	0
TBS3:	DB	0
TBLP:	DW	TB
LSTB:	DW	0
NSTB:	DB	0
SFPS:	DW	0
FSRL:	DB	0
TRT:	DW	6*8
	DW	7*8
	DW	8*8
	DW	9*8
	DW	10*8
	DW	11*8
	DW	12*8
	DW	14*8
	DW	0FFFFH
	DW	0FFFFH
	DW	0FFFFH
	DW	0FFFFH
	DW	0FFFFH
DRT:	DW	16*8
	DW	18*8
	DW	20*8
	DW	24*8
	DW	30*8
	DW	36*8
	DW	42*8
	DW	48*8
	DW	0FFFFH
	DW	0FFFFH
	DW	0FFFFH
;PAGE 4.28
	DW	0FFFFH
	DW	0FFFFH
;I/O CODES
LTIMR	EQU	0C8H
GTIMR	EQU	0CAH
FTIMR	EQU	0D0H
INT	EQU	0C0H
DISPL	EQU	0DDH
BTLCH	EQU	0DAH
MSLCH	EQU	0DBH
BRT1	EQU	088H
BRT2	EQU	098H
DMA	EQU	0D2H
COLL	EQU	0DEH
HCOGC	EQU	0DFH
	END